如何使用存储在列而不是行中的数据创建表?

时间:2013-03-27 00:43:05

标签: sql-server

我有一个包含3列的表:商店ID,产品类型,产品数量如下:

store1 shirt 3
store1 hat   2
store2 shirt 1
store3 hat   4

我想将此表格转换为以下格式(第2列中的衬衫数量和第3列中的帽子数量):

store1 3 2
store2 1 -
store3 - 4

如何编写select语句来执行此操作?感谢。

1 个答案:

答案 0 :(得分:2)

在行上尝试多个聚合:

SELECT store, Sum(CASE WHEN product='shirt' THEN quantity ELSE 0 END) AS shirts,
    Sum(CASE WHEN product='hat' THEN quantity ELSE 0 END) AS hats
FROM YourTable
GROUP BY store

如果这不是您的意思,您必须提供更多信息。