我正在使用mysql。 当我像这样使用JOINS时
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个用户的金额。
答案 0 :(得分:1)
在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
上。