2015-02-23 24 views
0

我在查看以下結構行組的名字,並得到空值

**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

嘗試isnull(VisitMonth,10)= 10 – 2015-02-23 07:55:52

+0

您的表結構和查詢彼此不適合。 – 2015-02-23 08:04:04

回答

0

你只需要包括用於柱[VisitMonth] WHERE子句中NULL,即需要

WHERE SECode = 1 AND (VisitMonth = 1 OR VisitMonth IS NULL)

支架。

這裏是一個fiddle

0

您需要在還使用ISNULL函數來顯示1爲一個月NULL值添加VisitMonth IS 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) 
+0

輸出中缺少一些記錄。如果一些醫生X與Executive 1相關,但Month列爲2,輸出結果也應該顯示記錄(X,NULL,0)。基本上,輸出結果應顯示所有與執行1相關的醫生及其月份。查詢醫生X是否來自第10個月,並且醫生X不存在NULL ..它應該在輸出中給出(X,NULL,0) – aditya 2015-02-23 10:09:36

相關問題