如何在没有公共列的情况下基于mysql条件联接表

时间:2020-09-16 13:29:19

标签: mysql sql

我正在尝试根据特定条件连接多个表。也就是说,如果locID为1,那么我如何获取该位置中各个部门的计数。表结构如下。

表1:面积

id   userdeptID entityID
1      2           1
2      2           1
3      4           3

表2:实体

id  locID
1    1
2    1

表3:userDept

id userID  deptID 
1   1      3
2   2      4

预期产量

count(deptID) locID
  2             1

由于我不确定如何实现这样的查询,因此我没有任何示例查询。任何帮助,将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

如果我的理解是正确的,那么这里是一个示例。您可以尝试以下代码:

Select count(u.deptID),E.locID
FROM Area A
LEFT JOIN Entity E on E.id=A.entityID
LEFT JOIN userDept u on u.userID =A.userdeptID  
where E.locID = 1
GROUP BY E.locID

enter image description here