我的视图中有以下结构
**Month| Doctor| Executive| Revenue**
1 | A | 1 | 100
1 | B | 1 | 200
NULL | C | 1 | 0
NULL | D | 2 | 0
2 | A | 1 | 400
1 | E | 1 | 100
NULL | F | 2 | 0
2 | A | 1 | 300
我希望结果为
**Executive| Doctor| Revenue| Month**
1 | A | 100 | 1
1 | B | 200 | 1
1 | C | 0 | 1
1 | E | 100 | 1
我希望执行1的所有医生都进入输出,即使是列月有NULL值。
当我尝试使用查询时
select DocName,sum(rate),sum(patients) from DoctorRevenue
where SECode=1 and VisitMonth=10
group by DocName
它只给A,B,E,但我希望C进入输出。
答案 0 :(得分:0)
您只需要在[VisitMonth]列的WHERE子句中包含NULL,即
WHERE SECode = 1 AND (VisitMonth = 1 OR VisitMonth IS NULL)
需要括号。
这是fiddle
答案 1 :(得分:0)
您需要在其中添加VisitMonth IS NULL
,同时使用ISNULL
功能将1
显示为NULL
值的月份。试试这个。
select Isnull(VisitMonth,1),DocName,sum(rate),sum(patients) from DoctorRevenue
where SECode=1
and (VisitMonth = 1 OR VisitMonth IS NULL)
group by DocName,Isnull(VisitMonth,1)