Llenar espacios con cero

27/01/2009 - 22:26 por Alonso Vilela | Informe spam
Tengo un query que me da el siguiente resultado

id_toner id_sup Total
11 1 100
12 1 200
11 4 50
21 4 300
22 4 100
11 5 20
31 5 10

necesito ordernar esto de tal manera que pueda pasarlo a una tabla y se vea
asi...


cia 1 100 200 0 0 0
cia 4 50 0 300 100 0
cia 5 20 0 0 0 10

alguna sugerencia
 

Leer las respuestas

#1 Alejandro Mesa
28/01/2009 - 00:43 | Informe spam
Alonso Vilela,

Si esto es un reporte, preferible que hagas en pivot en la herramienta de
reportes que uses, como SQL Server Reporting Services.

Si usas SQL Server 2005 / 2008, chequea el operador PIVOT en los BOL.

Ejemplo:

DECLARE @t TABLE (
id_toner INT,
id_sup INT,
Total INT
)

INSERT INTO @t VALUES(11, 1, 100)
INSERT INTO @t VALUES(12, 1, 200)
INSERT INTO @t VALUES(11, 4, 50)
INSERT INTO @t VALUES(21, 4, 300)
INSERT INTO @t VALUES(22, 4, 100)
INSERT INTO @t VALUES(11, 5, 20)
INSERT INTO @t VALUES(31, 5, 10)

SELECT
'cia ' + LTRIM(id_sup) AS c1,
ISNULL([11], 0) AS c1,
ISNULL([12], 0) AS c2,
ISNULL([21], 0) AS c3,
ISNULL([22], 0) AS c4,
ISNULL([31], 0) AS c5
FROM
@t AS t
PIVOT
(
MIN(Total)
FOR id_toner IN ([11], [12], [21], [22], [31])
) AS pvt
ORDER BY
id_sup;
GO


AMB



"Alonso Vilela" wrote:

Tengo un query que me da el siguiente resultado

id_toner id_sup Total
11 1 100
12 1 200
11 4 50
21 4 300
22 4 100
11 5 20
31 5 10

necesito ordernar esto de tal manera que pueda pasarlo a una tabla y se vea
asi...


cia 1 100 200 0 0 0
cia 4 50 0 300 100 0
cia 5 20 0 0 0 10

alguna sugerencia




Preguntas similares