mostrar tres registros como uno solo

23/10/2009 - 19:10 por RP | Informe spam
Hola, yo nuevamente, tengo este Query:

SELECT
b.Item As Item, b.Descripcion As Descripcion, u.abrev As Abrev, '22/10/2009',
avg(CASE WHEN month(oc.FechReg)=8 THEN dc.CostoUnit ELSE 0 END) As Mes1,
avg(CASE WHEN month(oc.FechReg)=9 THEN dc.CostoUnit ELSE 0 END) As Mes2,
avg(CASE WHEN month(oc.FechReg) THEN dc.CostoUnit ELSE 0 END) As Mes3
From
Bien b, DetalleOC dc, OrdenC oc, UnidadMedida u
Where
dc.CodBien = B.Codigo And B.Unidad = U.Codigo
And dc.CodOC=oc.Codigo And oc.Estado<>0
And year(oc.FechReg) 09
And month(oc.FechReg)>7
Group By
B.Item, B.Descripcion, U.Abrev, Month(oc.FechReg)
Order By b.Item

me manda los siguientes Resultados:

Item Descripcion Unidad Fecha Mes1 Mes2 Mes3
-
4000 CARTUCHO UND 22/10/09 50.45 0 0
4003 PETROLEO D2 GLN 22/10/09 7.61 0 0
4003 PETROLEO D2 GLN 22/10/09 0 7.61 0
4003 PETROLEO D2 GLN 22/10/09 0 0 7.78
4015 CAMARA DE LLAN UND 22/10/09 55 0 0
4015 CAMARA DE LLAN UND 22/10/09 0 0 17
4027 DESINFECTANTE GLN 22/10/09 0 9 0

Lo que quiero es que me junte los Item que se duplican en uno sólo ya probe
usando el Distinct (b.ITem), pero nada, en castellano quiero que me muestre
de la siguiente manera:

Item Descripcion Unidad Fecha Mes1 Mes2 Mes3
-
4000 CARTUCHO UND 22/10/09 50.45 0 0
4003 PETROLEO D2 GLN 22/10/09 7.61 7.61 7.78
4015 CAMARA DE LLAN UND 22/10/09 55 0 17
4027 DESINFECTANTE GLN 22/10/09 0 9 0

Gracias de Antemano
 

Leer las respuestas

#1 Alejandro Mesa
24/10/2009 - 02:05 | Informe spam
RP,

Usa tu query como una tabla derivada o usa una CTE.

select
Item, Descripcion, Abrev,
max(Mes1) as m_1,
max(Mes2) as m_2,
max(Mes3) as m_3
from
(
AQUI TU QUERY SIN "ORDER BY"
) as T
group by Item, Descripcion, Abrev
order by Item;


AMB



"RP" wrote:

Hola, yo nuevamente, tengo este Query:

SELECT
b.Item As Item, b.Descripcion As Descripcion, u.abrev As Abrev, '22/10/2009',
avg(CASE WHEN month(oc.FechReg)=8 THEN dc.CostoUnit ELSE 0 END) As Mes1,
avg(CASE WHEN month(oc.FechReg)=9 THEN dc.CostoUnit ELSE 0 END) As Mes2,
avg(CASE WHEN month(oc.FechReg) THEN dc.CostoUnit ELSE 0 END) As Mes3
From
Bien b, DetalleOC dc, OrdenC oc, UnidadMedida u
Where
dc.CodBien = B.Codigo And B.Unidad = U.Codigo
And dc.CodOC=oc.Codigo And oc.Estado<>0
And year(oc.FechReg) 09
And month(oc.FechReg)>7
Group By
B.Item, B.Descripcion, U.Abrev, Month(oc.FechReg)
Order By b.Item

me manda los siguientes Resultados:

Item Descripcion Unidad Fecha Mes1 Mes2 Mes3
-
4000 CARTUCHO UND 22/10/09 50.45 0 0
4003 PETROLEO D2 GLN 22/10/09 7.61 0 0
4003 PETROLEO D2 GLN 22/10/09 0 7.61 0
4003 PETROLEO D2 GLN 22/10/09 0 0 7.78
4015 CAMARA DE LLAN UND 22/10/09 55 0 0
4015 CAMARA DE LLAN UND 22/10/09 0 0 17
4027 DESINFECTANTE GLN 22/10/09 0 9 0

Lo que quiero es que me junte los Item que se duplican en uno sólo ya probe
usando el Distinct (b.ITem), pero nada, en castellano quiero que me muestre
de la siguiente manera:

Item Descripcion Unidad Fecha Mes1 Mes2 Mes3
-
4000 CARTUCHO UND 22/10/09 50.45 0 0
4003 PETROLEO D2 GLN 22/10/09 7.61 7.61 7.78
4015 CAMARA DE LLAN UND 22/10/09 55 0 17
4027 DESINFECTANTE GLN 22/10/09 0 9 0

Gracias de Antemano

Preguntas similares