我只是想知道有多少prod与表emp中的id相关联,我找不到。我想得到所有的emp字段+字段,名为totalProducts,其中包含带有id的链接行的数量,我该怎么办呢?我正在尝试这个并且没有工作:
select emp.*,
COUNT(prod.*) AS totalProducts
from emp_fin emp
JOIN product2 prod on emp.id = prod.id_emp group by emp.id;
得到如下错误:您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在'*)...
附近使用正确的语法谢谢大家!
答案 0 :(得分:2)
不要在count(*)
使用别名:
select emp.*, COUNT(*) AS totalProducts
from emp_fin emp JOIN
product2 prod
on emp.id = prod.id_emp
group by emp.id;
如果您想要包含没有产品的emps,请使用left join
并执行以下计算:
select emp.*, count(prod.id_emp) AS totalProducts
from emp_fin emp left join
product2 prod
on emp.id = prod.id_emp
group by emp.id;
答案 1 :(得分:1)
如果你想要计算所有prod记录,请选择toe prod表的id_emp(或另一个notnull字段)来计算它们。
SELECT
emp.*,
COUNT(prod.id_emp) AS totalProducts
FROM emp_fin emp
LEFT OUTER JOIN product2 prod
on emp.id= prod.id_emp
group by emp.id