mysql - 加入+计数第二张表

标签 mysql sql join

我只想知道有多少产品与表 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 服务器版本对应的手册,了解在 '*) ... 附近使用的正确语法

谢谢大家!

最佳答案

不要对 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;

关于mysql - 加入+计数第二张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33609396/

相关文章:

mysql:从 2 个表中获取结果,无论两个表中是否存在一个字段

php - PDO 一次插入 4 次

mysql - 如何向用户生成的 SQL 查询添加 LIMIT

mysql - 在 VB 中重新排列日期

c# - NHibernate 动态创建/更改/删除表

MySQL UPDATE WHERE IN分别为每个列出的值?

mysql - LEFT JOIN 显示与 RIGHT JOIN 不同的结果 - 当自己连接表时......为什么?

php - MYSQL:选择与另一个表的多行相关的条目

php - 在 MySQL [+php?] 中合并的另一行

python - 发现类型错误 : sequence item 3: expected string, float