2010-07-21 79 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