【发布时间】:2014-10-15 12:53:33
【问题描述】:
Table1有带货人员名单(A,B,C)
我想使用 SQL 查询显示有多少人拥有每种产品组合的记录。
请注意:
1.产品未知,因此无法硬编码产品名称,表中可以有'n'个产品名称。
表 1:
ID Person Product
-------------------
1 Jannet A
2 Jannet B
3 Ross A
4 Jane C
5 Jane B
6 Jane A
7 Jannet A
需要输出:
Product A B C
----------------------
A 0 2 1
B 2 0 1
C 1 1 0
【问题讨论】:
-
解释你的结果?你的 RBDMS 是什么?
-
您好,感谢您的回复。我正在使用 MYSQL,我期望的结果是,我想显示拥有每种产品组合的不同人的数量,例如。 Jannet & Jane 拥有产品 A 和 B ,因此在产品 A 和 B 下应该显示 2,因为 2 人拥有这种产品组合。
-
所以结果总是沿对角线对称?
-
是的,因为我们正在计算不同产品的人数,比如 Jannet 可能有 2 个 A 产品和 1 个 B 产品,而 Jane 有 1 个 A 产品和 1 个 B 产品,总数为产品 A 和 B 的客户将是 2(即上面示例中的 Jannet 和 Jane)
标签: sql sql-server tsql pivot multiple-columns