我试图返回上周的客户列表和他们的交易总和,但让查询返回根本没有下注的客户。我正在尝试使用左连接来执行此操作,但如果客户下注,查询只会返回一行,这不是我期望左连接的工作方式。我该怎么做才能按照我想要的方式进行这项工作?
select i.accountnumber, i.firstname, i.lastname, sum(a.amount)
from accountinformaton i
left join accountactivity a
on i.accountnumber = a.accountnumber
where a.transactiontype = 'Bet'
and a.transactiondate >='2015-07-31'
group by i.accountnumber, i.firstname, i.lastname
'accountinformation' 表有数千行,上面的查询返回几百行。我期望能够从“accountinformation”返回所有行,并让没有下注的账户的总和为空。
我自己想出来了。我的 where 子句告诉 sql 只显示“下注”并具有该日期条件的行,所以我没有意识到我告诉 sql 显示有下注的行。
这是我的替代查询...
将条件放在连接子句中而不是 where 子句中,使左连接按预期运行。