我们有2个表格 - Table1
和Table2
行
id name
1 test
2 test2
表2为空,结构:
id table1_id
查询:
SELECT
t1.name as name,
count(t2.id) as count_show
FROM
Table1 as t1
LEFT JOIN
Table2 as t2 on t2.table1_id= t1.id
结果我们看到:
name count_show
test 0
我们知道这个问题,但为什么呢?哪里有错误?
为什么我们只得到第一行以及如何输出所有行?
答案 0 :(得分:0)
您必须在查询结尾添加Group by t1.id
。
最后的查询:
SELECT t1.name AS name, COUNT(t2.id) AS count_show
FROM Table1 AS t1 LEFT JOIN Table2 AS t2 ON t2.table1_id = t1.id
GROUP BY t1.id
答案 1 :(得分:0)
按要求回答:
你正在做计数。它会自动分组。因此,如果您的行数只有一行,那就是您得到的。