2010-07-21 82 views
10

我有以下查詢:在SQL樞替換空值

SELECT * 
FROM Table1 
PIVOT 
(
    SUM(Value) 
    FOR [Period] IN ([06/1/2007],[07/1/2007]) 
) 
AS p 

一些返回的行爲null,但我想以0

我試過SUM(ISNULL(Value,0)) as Val來取代他們,但它不是加工。 (這是說不正確的語法)

+0

那是*正是*你試過嗎?它缺少''''。事實上,你原來的查詢似乎有一個額外的')'。 – 2010-07-21 07:43:49

+1

它通常有助於「有效」的解釋。 – 2010-07-21 07:47:37

回答

22

哦,我在錯誤的地方使用ISNULL

查詢應該是這樣的:

SELECT ID,ISNULL([06/1/2007],0), ISNULL([07/1/2007],0) 
FROM Table1 
PIVOT 
(
    SUM(Value) 
    FOR [Period] IN ([06/1/2007],[07/1/2007]) 
) 
AS p 
+1

我試圖把isnull也放在pivot中。當我看到你的答案時,我感覺非常糟糕。 – Paul 2015-09-04 20:57:55