我正在使用mysql。
当我使用这样的连接时
SELECT u.Id,u.FirstName,u.LastName,u.Email,SUM(a.Amount) Amount FROM users u LEFT JOIN amount a WHERE a.ExpenseDate >= '2013-05-12' GROUP BY u.Id
我有23个用户,但它只显示了14个用户的数据,因为其余9个没有输入数量。
我需要所有的23个用户对金额。
最佳答案
移动ON
子句中的条件,
SELECT u.Id,u.FirstName,u.LastName,u.Email,SUM(a.Amount) Amount
FROM users u LEFT JOIN amount a ON i.ID = a.ID
AND a.ExpenseDate >= '2013-05-12'
GROUP BY u.Id
在这种情况下,优化器首先过滤表
amount
中的记录,然后再将其加入到表user
中。关于mysql - 我有一个用户表和金额表,即使金额为零或零,我也要向所有用户显示金额,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16621387/