Я использую SQL Server 2012 Standard и имею отношение к производительности для объединения нескольких строк в одну.
Пример:

Я могу использовать запрос ниже, чтобы получить данные, как ожидалось, но производительность не очень хорошая.Есть ли другой запрос с лучшей производительностью?
WITH Data AS
(
SELECT 88 ID, 1 AS [OrderFW],'a' AS Code,'n1' as Name UNION
SELECT 88 ID,2 AS [OrderFW],'a' AS Code,'n2' as Name UNION
SELECT 88 ID,3 AS [OrderFW],'a' AS Code,'n3' as Name UNION
SELECT 99 ID,1 AS [OrderFW],'b' AS Code,'n4' as Name UNION
SELECT 99 ID,2 AS [OrderFW],'b' AS Code,'n5' as Name
)
SELECT
d1.Code code1, d1.Name name1,
d2.Code code2, d2.Name name2,
d3.Code code3, d3.Name name3
FROM
Data d1
LEFT OUTER JOIN
Data d2 ON d1.ID = d2.ID AND d2.OrderFW = 2
LEFT OUTER JOIN
Data d3 ON d1.ID = d3.ID AND d3.OrderFW = 3
WHERE
d1.OrderFW = 1