【发布时间】:2017-03-23 09:21:42
【问题描述】:
我正在尝试加入两个表,同时使用 count 函数来获取正确表中的数字。我认为这正是 LEFT JOIN 的用途,但在这种情况下它根本不起作用。
问题的简化版
表 1:
ID Data
1 Blah
2 Blaha
3 Blahah
表 2:
ID Some Data
1 xxxx
1 xxxx
1 xxxx
1 xxxx
1 xxxx
3 xxxx
3 xxxx
3 xxxx
3 xxxx
3 xxxx
我使用的查询是:
SELECT table1.ID, count(table2.ID) As Count
FROM table1 LEFT OUTER JOIN table2 ON table1.ID = table2.ID
GROUP BY table1.ID
我要显示:
ID Count
1 5
2 0
3 5
但我只能显示:
ID Count
1 5
3 5
干杯
【问题讨论】:
-
您的查询看起来不错。确定按
table1.id分组吗? -
您确定您使用的是左连接而不是内连接吗?
-
您的查询给了我正确的结果。您确定 table1 位于连接的左侧吗?
-
您的查询运行良好。
-
好的,非常感谢。真正的查询要大得多,尽管选择了“table1.ID”,但我错过了我在“table2.ID”上分组的情况。这可以关闭
标签: sql sql-server count left-join