我有一个表格,长这样:
ID Name
1 John
1 Maria
1 Sam
2 Lisa
2 Martin
我希望能够得到这样的输出结果:
ID NAME1 NAME2 NAME3
1 John Maria Sam
2 Lisa Martin NULL
我不想使用pivot
函数,因为它不会给我这个结果(当我尝试时)。
ID
只会生成3行具有相同id
编号的名称列。
完成此查询的SP:
INSERT INTO [Database].[dbo].[TEST]
(
[ID],
[Contact1],
[Contact2],
[Contact3]
)
;WITH CTE
AS
(
SELECT
ID,
NAMN,
ROW_NUMBER() OVER(PARTITION BY P_ID ORDER BY NAMN) AS RowNum
FROM tabl1
WHERE VISA_EJ = 0
)
SELECT
[ID],
[1] AS [Contact1],
[2] AS [Contact2],
[3] AS [Contact3]
FROM CTE
PIVOT(MAX(NAMN) for RowNum in ([1],[2],[3])) AS [Contacts]
仍然出现分号错误。