Не уверен, но я думаю, что это то, что вы хотите; просто сделайте само присоединение к таблице несколько раз:
DECLARE @t TABLE
(
EMPLID VARCHAR(11)
, NAME VARCHAR(50)
, POSITION_NBR VARCHAR(8)
, CREPORTS5 CHAR(8)
, CREPORTS6 CHAR(8)
, CREPORTS7 CHAR(8)
)
INSERT INTO @t
( EMPLID, NAME, POSITION_NBR, CREPORTS5, CREPORTS6, CREPORTS7 )
VALUES ( '1234', 'John Smith', '11111', '22222', NULL, NULL ),
( '2345', 'Jack Jones', '22222', NULL, NULL, NULL ),
( '3456', 'Sarah Test', '33333', '22222', '11111', NULL ) ,
( '4567', 'Suzy Blerg', '44444', '22222', '11111', '33333' ),
( '5678', 'Mike Martin', '55555', '22222', '11111', '33333' )
SELECT t.EMPLID
, t.Name
, t2.NAME AS CDR5Name
, t3.NAME AS CDR6Name
, t4.NAME AS CDR7Name
FROM @t t
LEFT JOIN @t t2 ON t.CREPORTS5 = t2.POSITION_NBR
LEFT JOIN @t t3 ON t.CREPORTS6 = t3.POSITION_NBR
LEFT JOIN @t t4 ON t.CREPORTS7 = t4.POSITION_NBR
Кроме того, вы можете изменить типы данных для соответствия (используйте числовой тип для числовых данных и т. Д.). Также было бы неплохо, если бы вы могли опубликовать образец сценария вместо описания:)