【发布时间】:2018-05-09 10:05:33
【问题描述】:
尝试在一个查询和一行中获取不同行的计数
表 1..
ID name
1 a
2 b
3 c
表 2
ID Parent status
1 1 0
2 1 1
3 1 0
4 1 0
5 1 2
6 2 0
期望的结果(不同子元素的计数)
ID name 0a 1s 2s
1 a 3(count of 0s) 1 (counts of 1s) 2 (count of 2s)
我们可以在一个查询中得到这个吗..
我尝试过的结果是 3 行中的值
Select t1.id, t1.name, count(status) from TABLE_1 t1 Left JOIN TABLE_2 t2
ON t1.id = t2.parent
group by status
ID name status
1 a 3
1 a 1
1 a 1
2 b 1
【问题讨论】:
-
你用什么? MySql 或 SqlServer - sql 方言的实现方式不同。看起来您可以在连接的表上使用 PIVOT:看看这里:stackoverflow.com/questions/13372276/…
-
一旦你弄清楚你使用的是哪个RDBMS,实际上考虑处理应用程序代码中的数据显示问题。
-
它现在是 Mysql.. 觉得没关系
-
我同意...我想先确认...否则将处理它们在应用程序中的分组
-
我觉得2s的值应该是1吧?
标签: mysql sql-server join