A cross tabs approach using Eirikur's sample data.
WITH BASE_DATA AS
(
SELECT
ItemId
,CustomerItemId
,Customer
,Plant
,UnitPrice
,CustomerPO
FROM (VALUES
(637,'82604029-5','C1','P1','0.7208','P1000')
,(637,'82604029-5','C2','P1','0.6889','441670')
,(637,'82604029-5','C2','P1','0.6889','411754')
,(637,'82604029-5','C2','P1','0.6889','412530')
) AS X(ItemId,CustomerItemId,Customer,Plant,UnitPrice,CustomerPO)
)
/* AND THIS IS OUR CTE */
,RN_DATA AS
(
SELECT
ROW_NUMBER() OVER (PARTITION BY ItemId ORDER BY (SELECT NULL)) AS BD_RID
,BD.ItemId
,BD.CustomerItemId
,BD.Customer
,BD.Plant
,BD.UnitPrice
,BD.CustomerPO
FROM BASE_DATA BD
)
SELECT
RD.ItemId
,MAX(CASE WHEN RD.BD_RID = 1 THEN RD.CustomerItemId END) AS CustomerItemId1
,MAX(CASE WHEN RD.BD_RID = 1 THEN RD.Customer END) AS Customer1
,MAX(CASE WHEN RD.BD_RID = 1 THEN RD.Plant END) AS Plant1
,MAX(CASE WHEN RD.BD_RID = 1 THEN RD.UnitPrice END) AS UnitPrice1
,MAX(CASE WHEN RD.BD_RID = 1 THEN RD.CustomerPO END) AS CustomerPO1
,MAX(CASE WHEN RD.BD_RID = 2 THEN RD.CustomerItemId END) AS CustomerItemId2
,MAX(CASE WHEN RD.BD_RID = 2 THEN RD.Customer END) AS Customer2
,MAX(CASE WHEN RD.BD_RID = 2 THEN RD.Plant END) AS Plant2
,MAX(CASE WHEN RD.BD_RID = 2 THEN RD.UnitPrice END) AS UnitPrice2
,MAX(CASE WHEN RD.BD_RID = 2 THEN RD.CustomerPO END) AS CustomerPO2
,MAX(CASE WHEN RD.BD_RID = 3 THEN RD.CustomerItemId END) AS CustomerItemId3
,MAX(CASE WHEN RD.BD_RID = 3 THEN RD.Customer END) AS Customer3
,MAX(CASE WHEN RD.BD_RID = 3 THEN RD.Plant END) AS Plant3
,MAX(CASE WHEN RD.BD_RID = 3 THEN RD.UnitPrice END) AS UnitPrice3
,MAX(CASE WHEN RD.BD_RID = 3 THEN RD.CustomerPO END) AS CustomerPO3
,MAX(CASE WHEN RD.BD_RID = 4 THEN RD.CustomerItemId END) AS CustomerItemId4
,MAX(CASE WHEN RD.BD_RID = 4 THEN RD.Customer END) AS Customer4
,MAX(CASE WHEN RD.BD_RID = 4 THEN RD.Plant END) AS Plant4
,MAX(CASE WHEN RD.BD_RID = 4 THEN RD.UnitPrice END) AS UnitPrice4
,MAX(CASE WHEN RD.BD_RID = 4 THEN RD.CustomerPO END) AS CustomerPO4
FROM RN_DATA RD
GROUP BY RD.ItemId