cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda Query

Former Member
0 Kudos

Buenas tardes jóvenes expertos tengo el siguiente inconveniente, me solicitaron que en base a los items o articulo haga un resumen de facturación de ventas por proyecto ejemplo,

tengo 3 facturas de ventas en el proyecto Pradera con estatus open que utilizan el Ítem CAL01 (las 3 facturas) necesito hacer una sumatoria de las tres facturas que están utilizando el ítem CAL01

Proyecto               Items

Pradera                    300.00

he realizado varias pruebas para poder hacer que funcione pero no he logrado el objetivo siempre me muestra los datos en lineas diferentes y no hace la sumatoria el query que tengo es el siguiente:

SELECT T0.ProjectCod,

                    ISNULL((SELECT SUM(Y.GTotal) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'EXCE%%' and X.[DocStatus] = 'O'),0)[Costo Exceso],

                    ISNULL((SELECT SUM(Y.GTotal) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'AGUA%%' and X.[DocStatus] = 'O'),0)[Costo Cuota Fija],

                    ISNULL((SELECT SUM(Y.GTotal) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'SEG%%' and X.[DocStatus] = 'O'),0)[Costo Seguridad],

                    ISNULL((SELECT SUM(Y.GTotal) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'RCONX%%' and X.[DocStatus] = 'O'),0)[Reconexión],

                    ISNULL((SELECT SUM(Y.GTotal) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'SUSP%%' and X.[DocStatus] = 'O'),0)[Suspencion],

                    ISNULL((SELECT SUM(Y.GTotal) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'ADM%%' and X.[DocStatus] = 'O'),0)[Administracion]

                    FROM OCRD T0 INNER JOIN

                               OINV T1 ON T0.CardCode = T1.CardCode INNER JOIN

                               INV1 T2 ON T1.DocEntry = T2.DocEntry

Group By T0.[CardCode], T1.CardCode, T0.ProjectCod

Espero me puedan ayudar y me haya dado a entender.

De antemano muy agradecido por su ayuda.

Saludos

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Eso es porque en los subquerys nunca haces el match con el Codigo del proyecto.

Agrega a los WHERE un Y.Project=T0.ProjectCod

Atte.

Former Member
0 Kudos

Gracias Felipe por tu ayuda pero no me funciono siempre me sigue dando el problema que me lo muestra en varios lineas y no hace la sumatoria asi es como me quedo el subquery:

ISNULL((SELECT SUM(Y.PriceAfVAT) FROM INV1 Y INNER JOIN OINV X ON X.DocEntry=Y.DocEntry WHERE Y.Project = T0.ProjectCod and X.CardCode = T0.CardCode AND Y.ItemCode LIKE 'EXCE%%'  and X.[DocStatus] = 'O'),0)[Costo Exceso]

espero me pueda ayudar y de antemano muy agradecido por tu ayuda.

Saludos

Answers (0)