Вы можете создать RowNumber и затем использовать производную таблицу для достижения этой цели.
;WITH CTE_TableName AS
(
SELECT *,RowNumber() over(Partition by myOrderNum ORDER BY MyOrderNum) AS rnk
FROM TableName
)
SELECT myOrderNum,firstcol1A
,(SELECT firstCol1A FROM CTE_TableName WHERE rnk =2 AND OrderNum = c.OrderNum) AS firstCol1B
,(SELECT firstCol1A FROM CTE_TableName WHERE rnk =3 AND OrderNum = c.OrderNum) AS firstCol1C
,SecondCol2A
,(SELECT SecondCol2A FROM CTE_TableName WHERE rnk =2 AND OrderNum = c.OrderNum) AS ,SecondCol2B
,(SELECT SecondCol2A FROM CTE_TableName WHERE rnk =3 AND OrderNum = c.OrderNum) AS ,SecondCol2C
,thirdCol3A
,(SELECT thirdCol3A FROM CTE_TableName WHERE rnk =2 AND OrderNum = c.OrderNum) AS thirdCol3B
,(SELECT thirdCol3A FROM CTE_TableName WHERE rnk =3 AND OrderNum = c.OrderNum) AS thirdCol3C
FROM CTE_TableName AS c;