我有一个SQL查询:
SELECT table1.column1, table2.column2, table1.column2
FROM table1 LEFT JOIN table2 (ON table1.column1=table2.column2)
我想要做的是在表中添加另一个左连接,但也要计算左连接数据,如:
SELECT table1.column1, table2.column2, table1.column2, COUNT(table3.column1)
FROM table1 LEFT JOIN table2 ON table1.column1=table2.column2
LEFT JOIN table3 ON table1.column1=table3.column1
代码似乎不起作用,可能出错?
答案 0 :(得分:2)
count
是一个聚合函数 - 如果没有group by
子句,则不能将其与单行函数混合使用。解决此问题的一种方法是加入子查询,而不是直接在table3
上加注,并在group by
处应用:
SELECT table1.column1, table2.column2, table1.column2, cnt
FROM table1
LEFT JOIN table2 ON table1.column1 = table2.column2
LEFT JOIN (SELECT column1, COUNT(*) AS cnt
FROM table3
GROUP BY column1) table3 ON table1.column1=table3.column1