当我使用多个 LEFT JOINS 来获取所需结果时,无法填充精确计数,如下所示
我希望获取每个“manager_1”拥有的“来自 t2 的票数”的总数以及他们的姓名
仅供引用:表 2 仅包含工程师的别名
尝试过内、右、左外连接来达到想要的结果,但没有效果
表 1 - t1
+-----------+--------+------------------+-----------------+-----------------+
| role | alias | name | manager_1_alias | manager_2_alias |
+-----------+--------+------------------+-----------------+-----------------+
| engineer | tommy | tommy gun | tim | gegard |
+-----------+--------+------------------+-----------------+-----------------+
| engineer | sean | sean penn | ricky | flo |
+-----------+--------+------------------+-----------------+-----------------+
| manager_1 | tim | tim robbins | | |
+-----------+--------+------------------+-----------------+-----------------+
| manager_2 | gegard | gegard mousasi | | |
+-----------+--------+------------------+-----------------+-----------------+
| manager_1 | ricky | ricky hatton | | |
+-----------+--------+------------------+-----------------+-----------------+
| manager_2 | flo | floyd mayweather | | |
+-----------+--------+------------------+-----------------+-----------------+
表 2 - t2
+---------------+-------+
| ticket_number | alias |
+---------------+-------+
| 1234 | tommy |
+---------------+-------+
| 4567 | sean |
+---------------+-------+
| 8910 | tommy |
+---------------+-------+
| 4321 | tommy |
+---------------+-------+
| 4422 | sean |
+---------------+-------+
| 2288 | tommy |
+---------------+-------+
当前查询
SELECT
j2.name
count(t2.ticket_number)
FROM
t2
LEFT JOIN t1 AS j1 ON t2.alias = j1.alias
LEFT JOIN t1 AS j2 ON j1.manager_1_alias = j2.alias
LEFT JOIN t1 AS j3 ON j1.manager_2_alias = j3.alias
group by
j1.manager_1_alias
期望的结果
+----------------+------------------+
| manager_1 name | total_no_tickets |
+----------------+------------------+
| tim robbins | 4 |
+----------------+------------------+
| ricky hatton | 2 |
+----------------+------------------+
最佳答案
检查这个
SELECT t1.name as manager_1_name, count(t2.ticket_number) as total_no_tickets
FROM t1
LEFT JOIN t2 ON t1.alias = t2.alias
GROUP BY t1.name
ORDER BY t1.name ASC
关于mysql - 查询中的多个左连接返回不正确的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57415343/