一个用户表:Id,姓名,任务金额
Id,Name,TaskMoney
一个项目销售表
Id,UserId(对应用户Id),Money(金额),SaleDate(销售日期)
做一个报表,按日期统计每个用户的销售总额,要求显示所有用户。如果项目销售表里没有记录,怎么写?
我用Join关链(left right inner),都只能统计出有销售记录的用户。。
需要没销售记录的用户也要显示,金额显示0,日期不显示.需要group by分组
------解决方案--------------------
把 where 后的条件放到 on 之后试试
SELECT
User.Id,
User.Name as 用户名,
User.TaskMoney as 任务金额,
SUM(Project.Money) as 项目总金额
FROM 用户表 as User
LEFT JOIN 项目表 AS Project
ON User.id=Project.UserId AND DATEPART(yyyy,Project.CreateDate)='2014'
WHERE User.TaskYear='2014'
GROUP BY User.Id,User.Name,User.TaskMoney