【发布时间】:2019-05-14 19:50:24
【问题描述】:
我在 SQL Server 中有一个表:产品
产品表:
ImageID ProductID
------- ----------
1 P1
1 P2
1 P3
2 S1
2 S2
2 S3
3 M1
这是我需要的输出:
ImageID Product1ID Product2ID Product3ID
----------- ---------- ---------- ----------
1 P1 P2 P3
2 S1 S2 S3
3 M1 null null
一个 ImageID 最多可以有 3 个 ProductID 并非所有 ImageID 都必须有 3 个产品 [例如。 ImageID=3]
SELECT ImageID, [Product1ID], [Product2ID], [Product3ID]
FROM
(
SELECT ImageID, ProductID
FROM ProductTable
) AS P
PIVOT
(
max( ImageID)
FOR ProductID IN ([Product1ID], [Product2ID], [Product3ID])
) AS PVT
【问题讨论】:
标签: sql sql-server tsql pivot