我是MySQL的新手,现在我的一个查询出现问题。我有3个表(用户,分支和销售)。我想查询并返回用户销售组总和的结果,如果销售不存在,则查看结果为NULL。以下是我的表格的详细信息:
用户
user_id username
----------------
1 adam
2 david
3 siva
分支
branch_id user_id
-------------
001 1
002 1
003 1
004 2
005 3
销售
branch_id sales
-------------
001 20
002 30
003 10
下面是我的查询;
SELECT u.username, SUM(s.sales) AS total_sales
FROM USER u
INNER JOIN branch b ON u.user_id=b.user_id
INNER JOIN sales s ON s.branch_id=b.branch_id
非常感谢。
答案 0 :(得分:2)
SELECT u.username, SUM(s.sales) AS total_sales
FROM USER u
LEFT JOIN branch b ON u.user_id=b.user_id
LEFT JOIN sales s ON s.branch_id=b.branch_id
GROUP BY u.user_id
答案 1 :(得分:2)
SELECT u.id, SUM(IFNULL(s.sales,0)) AS total_sales
FROM USER u
left JOIN branch b ON u.user_id=b.user_id
left JOIN sales s ON s.branch_id=b.branch_id
GROUP BY u.user_id;