我正在运行一个学校奖励系统,在该系统中,工作人员将积分分配给学生的积极态度和行为。
我有两张桌子:
工作人员
ID
, Firstname
, Surname
, Position
, Faculty
, Subject
, Hours
,Allocation
交易
Transaction_ID
, Datetime
, Giver_ID
, Recipient_ID
, Points
, Category_ID
,Reason
我正在尝试编写一条 SQL 语句,显示员工每周分配了多少积分。
这个说法...
SELECT
CONCAT(s.Firstname, " ", s.Surname) AS `Staff Name`,
SUM(t.Points) AS `Points Allocated`
FROM transactions t
LEFT JOIN staff s ON t.Giver_ID = s.ID
WHERE `Datetime` >= '2012-10-08'
GROUP BY t.Giver_ID
ORDER BY `Points Allocated` ASC
... 显示该周已分配积分的用户列表以及数量。
但是,它不显示已分配 0 分的用户。
有没有办法修改我的声明以包括这些用户?可能正在反向编写连接,使用staff
表并连接到transactions
?不幸的是,我不确定从哪里开始。
提前致谢,