SQL - sustituir valores NULL y ordenar columnas por orden cronológico

 
Vista:
sin imagen de perfil

sustituir valores NULL y ordenar columnas por orden cronológico

Publicado por victor (3 intervenciones) el 26/06/2024 19:08:14
Buen día, gusto en saludarlos.

Ante que todo quiero comentarles que soy un usuario principiante y probablemente, mi consulta no se ajuste a los temas escalados en el foro, así que de antemano pido disculpas por las molestias causadas. Con respecto a mi caso, tengo esta sentencia para generar una tabla pivot dinámica sin embargo, si ven el resultado (ver archivo anexo) las columnas no estan ordenadas en orden cronológico (más antiguo al más reciente) y aparece la palabra NULL en los campos sin información. Necesitó que los campos en NULL se muestre un cero (0) y que la información de las columnas se muestre ordenada del més más antiguo al más reciente.

DECLARE @COLUMN NVARCHAR(MAX)
SELECT @COLUMN =ISNULL(@COLUMN + ',','') + QUOTENAME(Mes)
FROM (SELECT DISTINCT Mes FROM #temp) AS C
EXEC ('SELECT * INTO ##TEMP1 FROM #temp PIVOT (SUM(Monto) FOR [Mes] in ('+@COLUMN+')) as Q')
EXEC ('SELECT * into ##temp2 FROM #temp PIVOT (SUM(Monto) FOR [Mes] in ('+@COLUMN+')) as Q')

Select *,"Moneda"=
case
WHEN [Pais] in ('ARG','CHI','COL','ECU','MX','PER','URU','VEN') THEN 'Euro'
END
from ##temp1
UNION ALL
Select *,"Moneda"=
case
WHEN [Pais] in ('ARG','CHI','COL','ECU','MX','PER','URU','VEN') THEN 'Local'
END
from ##temp2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder