Suma de campos en una subconsulta
Publicado por CESAR (1 intervención) el 07/03/2012 23:52:18
buenas, estoy comenzando a hacer reportes, y tengo un pequeño problea, espero me puedana ayudar, tengo lo siguiente;
select cveAutobus, CONVERT (char(10),FechaCorte, 111)as FechaCorte,
ImpTotal as ImpTotal,
sum(CASE cp_intId wHEN 5 THEN cp_decCantidad ELSE 0 END)as GAdmon,
sum(CASE cp_intId wHEN 6 THEN cp_decCantidad ELSE 0 END)as FondoTer,
sum(CASE cp_intId wHEN 7 THEN cp_decCantidad ELSE 0 END)as AporAcc,
sum(CASE cp_intId wHEN 4 THEN cp_decCantidad ELSE 0 END)as Aguinaldo,
sum(CASE cp_intId wHEN 8 THEN cp_decCantidad ELSE 0 END)as Impuesto,
sum(CASE cp_intId wHEN 9 THEN cp_decCantidad ELSE 0 END)as ProdTrab,
sum(CASE cp_intId wHEN 12 THEN cp_decCantidad ELSE 0 END)as Tarjeta,
sum(CASE cp_intId wHEN 11 THEN cp_decCantidad ELSE 0 END)as Accidentes,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Fianza,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Pendientes,
sum(CASE cp_intId wHEN 17 THEN cp_decCantidad ELSE 0 END)as Infraccion,
sum(CASE cp_intId wHEN 20 THEN cp_decCantidad ELSE 0 END)as AportFut,
FolioPermisi,
TotalRec,
(ImpTotal-TotalRec) as total
from Papeleta
group by cveAutobus, FechaCorte, ImpTotal, FolioPermisi, TotalRec
order by cveAutobus, FechaCorte
lo que quiero es obtener un registro con las sumas de columnas del resultado de la query anterior,
lo intente con lo alias en una subconsulta:
...
sum(GAdmon) GAdmon,
sum(FondoTer) FondoTer,
sum(AporAcc) AporAcc,
sum(Aguinaldo) Aguinaldo,
sum(Impuesto) Impuesto,
sum(ProdTrab) ProdTrab,
sum(Tarjeta) Tarjeta,
sum(Accidentes) Accidentes,
sum(Fianza) Fianza,
sum(Pendientes) Pendientes,
sum(Infraccion) Infraccion,
sum(AportFut) AportFut,
'' FolioPermisi,
sum(TotalRec),
sum(total)
from
(select cveAutobus, CONVERT (char(10),FechaCorte, 111)as FechaCorte,
ImpTotal as ImpTotal,
sum(CASE cp_intId wHEN 5 THEN cp_decCantidad ELSE 0 END)as GAdmon,)
sum(CASE cp_intId wHEN 6 THEN cp_decCantidad ELSE 0 END)as FondoTer,
sum(CASE cp_intId wHEN 7 THEN cp_decCantidad ELSE 0 END)as AporAcc,
sum(CASE cp_intId wHEN 4 THEN cp_decCantidad ELSE 0 END)as Aguinaldo,
sum(CASE cp_intId wHEN 8 THEN cp_decCantidad ELSE 0 END)as Impuesto,
sum(CASE cp_intId wHEN 9 THEN cp_decCantidad ELSE 0 END)as ProdTrab,
sum(CASE cp_intId wHEN 12 THEN cp_decCantidad ELSE 0 END)as Tarjeta,
sum(CASE cp_intId wHEN 11 THEN cp_decCantidad ELSE 0 END)as Accidentes,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Fianza,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Pendientes,
sum(CASE cp_intId wHEN 17 THEN cp_decCantidad ELSE 0 END)as Infraccion,
sum(CASE cp_intId wHEN 20 THEN cp_decCantidad ELSE 0 END)as AportFut,
FolioPermisi,
TotalRec,
(ImpTotal-TotalRec) as total
from Papeleta
group by cveAutobus, FechaCorte, ImpTotal, FolioPermisi, TotalRec
order by cveAutobus, FechaCorte)
pero en primera, no me reconoce los alias, marca el nombre de columna invalido
select cveAutobus, CONVERT (char(10),FechaCorte, 111)as FechaCorte,
ImpTotal as ImpTotal,
sum(CASE cp_intId wHEN 5 THEN cp_decCantidad ELSE 0 END)as GAdmon,
sum(CASE cp_intId wHEN 6 THEN cp_decCantidad ELSE 0 END)as FondoTer,
sum(CASE cp_intId wHEN 7 THEN cp_decCantidad ELSE 0 END)as AporAcc,
sum(CASE cp_intId wHEN 4 THEN cp_decCantidad ELSE 0 END)as Aguinaldo,
sum(CASE cp_intId wHEN 8 THEN cp_decCantidad ELSE 0 END)as Impuesto,
sum(CASE cp_intId wHEN 9 THEN cp_decCantidad ELSE 0 END)as ProdTrab,
sum(CASE cp_intId wHEN 12 THEN cp_decCantidad ELSE 0 END)as Tarjeta,
sum(CASE cp_intId wHEN 11 THEN cp_decCantidad ELSE 0 END)as Accidentes,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Fianza,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Pendientes,
sum(CASE cp_intId wHEN 17 THEN cp_decCantidad ELSE 0 END)as Infraccion,
sum(CASE cp_intId wHEN 20 THEN cp_decCantidad ELSE 0 END)as AportFut,
FolioPermisi,
TotalRec,
(ImpTotal-TotalRec) as total
from Papeleta
group by cveAutobus, FechaCorte, ImpTotal, FolioPermisi, TotalRec
order by cveAutobus, FechaCorte
lo que quiero es obtener un registro con las sumas de columnas del resultado de la query anterior,
lo intente con lo alias en una subconsulta:
...
sum(GAdmon) GAdmon,
sum(FondoTer) FondoTer,
sum(AporAcc) AporAcc,
sum(Aguinaldo) Aguinaldo,
sum(Impuesto) Impuesto,
sum(ProdTrab) ProdTrab,
sum(Tarjeta) Tarjeta,
sum(Accidentes) Accidentes,
sum(Fianza) Fianza,
sum(Pendientes) Pendientes,
sum(Infraccion) Infraccion,
sum(AportFut) AportFut,
'' FolioPermisi,
sum(TotalRec),
sum(total)
from
(select cveAutobus, CONVERT (char(10),FechaCorte, 111)as FechaCorte,
ImpTotal as ImpTotal,
sum(CASE cp_intId wHEN 5 THEN cp_decCantidad ELSE 0 END)as GAdmon,)
sum(CASE cp_intId wHEN 6 THEN cp_decCantidad ELSE 0 END)as FondoTer,
sum(CASE cp_intId wHEN 7 THEN cp_decCantidad ELSE 0 END)as AporAcc,
sum(CASE cp_intId wHEN 4 THEN cp_decCantidad ELSE 0 END)as Aguinaldo,
sum(CASE cp_intId wHEN 8 THEN cp_decCantidad ELSE 0 END)as Impuesto,
sum(CASE cp_intId wHEN 9 THEN cp_decCantidad ELSE 0 END)as ProdTrab,
sum(CASE cp_intId wHEN 12 THEN cp_decCantidad ELSE 0 END)as Tarjeta,
sum(CASE cp_intId wHEN 11 THEN cp_decCantidad ELSE 0 END)as Accidentes,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Fianza,
sum(CASE cp_intId wHEN 10 THEN cp_decCantidad ELSE 0 END)as Pendientes,
sum(CASE cp_intId wHEN 17 THEN cp_decCantidad ELSE 0 END)as Infraccion,
sum(CASE cp_intId wHEN 20 THEN cp_decCantidad ELSE 0 END)as AportFut,
FolioPermisi,
TotalRec,
(ImpTotal-TotalRec) as total
from Papeleta
group by cveAutobus, FechaCorte, ImpTotal, FolioPermisi, TotalRec
order by cveAutobus, FechaCorte)
pero en primera, no me reconoce los alias, marca el nombre de columna invalido
Valora esta pregunta


0