2010-07-21 32 views
10

Tengo la siguiente consulta:reemplazar los valores nulos en pivote sql

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

Algunas de las filas devueltas son nulos pero quiero reemplazarlos con 0.

He intentado SUM(ISNULL(Value,0)) as Val pero no es trabajando. (está diciendo sintaxis incorrecta)

+0

¿Eso es exactamente * * lo que intentaste? Falta un ')'. De hecho, su consulta original parece tener un ')' extra. –

+1

Por lo general, ayuda cuando se explica "no funciona" en términos útiles. –

Respuesta

22

Ohh, estaba usando ISNULL en el lugar equivocado.

la consulta debería tener este aspecto:

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

Estaba tratando de poner el isnull en el pivote también. Cuando vi tu respuesta, me sentí muy mal. – Paul

Cuestiones relacionadas