【发布时间】:2020-11-21 23:52:25
【问题描述】:
我有一个包含 3 列的表格:order_id, product_id, product_count
第一列是客户传递的订单,第二列是产品唯一ID,第三列是订单中购买的产品数量。
我想创建一个包含购买物品数量的order_id / product_id 矩阵。
因此,我想要一些看起来像这样的东西:
如果我提出这个要求:
SELECT *
FROM
(SELECT
[order_id], [prod_id], [product_count]
FROM mydb.dbo.mytable) QueryResults
PIVOT
(SUM([product_count])
FOR [prod_id] IN ([21], [22], [23])
) AS PivotTable
我的问题是我要检索 200 多种不同的产品。有没有办法在不输入所有值的情况下做到这一点?
【问题讨论】:
-
这能回答你的问题吗? SQL Server dynamic PIVOT query?
标签: sql sql-server pivot dynamic-pivot