【发布时间】:2018-06-10 03:14:31
【问题描述】:
我有两个表,“授权”和“交易”。
授权表
Auth_ID | User_ID | Auth_Hours
-------------------------------
5 | 1 | 60
6 | 2 | 40
7 | 3 | 50
交易表
Auth_ID | User_ID | Used_Hours
-------------------------------
5 | 1 | 5
6 | 2 | 2
5 | 1 | 20
6 | 2 | 17
5 | 1 | 11
6 | 2 | 9
我希望我的查询汇总 Used_Hours 并按交易表中的 Auth_ID 和 User_ID 分组。这就是问题所在 - 我还希望查询结果显示未使用任何 Auth_Hours 的用户为 0。见下文:
查询
SELECT a.Auth_ID, a.USER_ID, a.Auth_Hours, SUM(t.Used_Hours)
FROM AUTHORIZATION a
JOIN TRANSACTION t
on a.Auth_ID = t.Auth_ID
and a.User_ID = t.User_ID
GROUP BY a.Auth_ID, a.USER_ID, a.Auth_Hours
实际结果
Auth_ID | User_ID | Auth_Hours | Total Hours Used
-------------------------------------------------
5 | 1 | 60 | 36
6 | 2 | 40 | 28
想要的结果
Auth_ID | User_ID | Auth_Hours | Total Hours Used
-------------------------------------------------
5 | 1 | 60 | 36
6 | 2 | 40 | 28
7 | 3 | 50 | 0
我认为查询相对简单。
【问题讨论】:
-
编辑您的问题并显示您的查询。然后将
JOIN替换为LEFT JOIN。 -
我输入了我的查询。我将尝试使用 LEFT JOIN