If you would like to get parts from string, use this:
DECLARE @tmp TABLE (ID INT IDENTITY(1,1), [Job Name] VARCHAR(30))
INSERT INTO @tmp ([Job Name])
SELECT '11-92-23-04'
UNION ALL SELECT '12-13-04'
UNION ALL SELECT '12-763-07'
UNION ALL SELECT '12-67'
;WITH Parts AS
(
SELECT 1 AS PartNo, ID, LEFT([Job Name], CHARINDEX('-',[Job Name])-1) AS Part, RIGHT([Job Name], LEN([Job Name])- CHARINDEX('-',[Job Name])) AS Remainder, [Job Name]
FROM @tmp
WHERE CHARINDEX('-',[Job Name])>0
UNION ALL
SELECT PartNo+1 AS PartNo, ID, LEFT([Remainder], CHARINDEX('-',[Remainder])-1) AS Part, RIGHT([Remainder], LEN([Remainder])- CHARINDEX('-',[Remainder])) AS Remainder, [Job Name]
FROM Parts
WHERE CHARINDEX('-',[Remainder])>0
UNION ALL
SELECT PartNo+1 AS PartNo, ID, Remainder AS Part, NULL AS Remainder, [Job Name]
FROM Parts
WHERE CHARINDEX('-',[Remainder])=0
)
SELECT ID, PartNo, Part, [Job Name]
FROM Parts
WHERE PartNo<3
ORDER BY ID, PartNo
Result:
ID PartNo Part [Job Name]
1 1 11 11-92-23-04
1 2 92 11-92-23-04
2 1 12 12-13-04
2 2 13 12-13-04
3 1 12 12-763-07
3 2 763 12-763-07
4 1 12 12-67
4 2 67 12-67