【发布时间】:2015-10-20 05:00:39
【问题描述】:
表-A
color_id- color
1- green
2- blue
3- orange
.
.
55- yellow
表-B
person-id, color
1, green
1, blue
2, orange
3, yellow
3, blue
数千人使用的表 A 中有 55 多种颜色,我需要返回每个人使用的每种颜色的计数,即
它应该返回类似
的结果person_id, green, orange, blue, ......, yellow
1, 1,0,1,0,....0
2,0,1,0,....,0
3,0,0,1,...1
问题是有 55+ 种不同的颜色类型,它们都保存在 Table-A 中,我可以编写一个 select 语句,然后键入所有这 55 个不同的变量并获取它们的计数,这是它们的快速选择方法Table-A 中的变量,然后返回它们的计数而不是 选择person_id,绿色计数().......黄色计数()
我使用的是 SQL Server 2014。
谢谢
【问题讨论】:
-
为什么将颜色字符串存储在两个地方?第二个表应该有
color_id,而不是color。 -
一个简单的加入和分组应该可以很好地处理这个问题。
标签: sql sql-server