cancel
Showing results for 
Search instead for 
Did you mean: 

QUERY PARA VENTAS POR PRODUCTO

angeles804
Active Contributor
0 Kudos

Tengo este query para ventas, pero me baso en el pago y si este esta cancelado no lo toma, resulta que no me sale igual que el reporte de ventas por que si le pongo inner join no me toma los que no estan en la tabla de pagos, que serían los de crédito, el problema aqui lo resuelvo con left join a la tabla de pagos, pero aqui después algunos me sobran por que no puedo saber cuales se cancelaron por nota de crédito, en especial si son facturas de reserva, alguien mepuede ayudar a validar esto. O no se puede, lo que quiero es que no tenga que hacer una union a las notas de crédito, todo lo quiero sacar de la tabla de las facturas.



SELECT DISTINCT(T4.ITMSGRPCOD),  T4.[ItmsGrpNam],SUM(T2.LINETOTAL) as 'total por linea', 
SUM(T2.[OpenSum]) as 'restante', sum(t2.quantity) as' cantidad vendida'
FROM [dbo].[@VENDEDORES]  T0  INNER JOIN OINV T1 ON T0.Code = T1.U_CODIGO
INNER JOIN INV1 T2 ON T1.DocEntry = T2.DocEntry
INNER JOIN OITM T3 ON T2.ItemCode = T3.ItemCode 
INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod 
INNER JOIN OCTG T5 ON T1.GroupNum = T5.GroupNum 
LEFT JOIN ORCT T6 ON T1.ReceiptNum = T6.DocEntry 
WHERE t1.docdate>='[%0]' and t1.docdate<='[%1]' AND
T1.doctype = 'I' and t1.u_codigo<>'' and  (NOT(t1.InvntSttus = 'C' and t1.isins<>'Y')) 
AND (T6.CANCELED<>'Y')  
GROUP BY t4.ITMSGRPCOD,T4.ITMSGRPNAM

sI ME PUEDEN ayudar a mejorarlo se los agradeceré mucho.

Accepted Solutions (0)

Answers (2)

Answers (2)

angeles804
Active Contributor
0 Kudos

agregue en primera instancia @vendedores, y asi jalo mi query.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes

Te sirvira algo como esto...


SELECT T6.ItmsGrpCod, T6.ItmsGrpNam, SUM(T4.Quantity) 'Cantidad Vendida', SUM((T4.Gtotal - T4.vatSum)) 'Neto'
FROM OINV T0 
INNER JOIN INV1 T4 ON T4.DocEntry = T0.DocEntry
INNER JOIN OITM T5 ON T5.Itemcode = T4.itemCode
INNER JOIN OITB T6 ON T6.ItmsGrpCod = T5.ItmsGrpCod
WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]' AND T0.DocType = 'I'
AND 
T0.CANCELED ='N'
GROUP BY T6.ItmsGrpCod, T6.ItmsGrpNam
UNION
SELECT T6.ItmsGrpCod, T6.ItmsGrpNam, SUM(T4.Quantity) 'Cantidad Vendida', SUM((T4.Gtotal - T4.vatSum)) 'Neto'
FROM ORIN T0 
INNER JOIN RIN1 T4 ON T4.DocEntry = T0.DocEntry
INNER JOIN OITM T5 ON T5.Itemcode = T4.itemCode
INNER JOIN OITB T6 ON T6.ItmsGrpCod = T5.ItmsGrpCod
WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]' AND T0.DocType = 'I'
AND 
T0.CANCELED ='N'
GROUP BY T6.ItmsGrpCod, T6.ItmsGrpNam

Deberias agregar tu tabla de vendedores y deberia quedar casi lista

Saludos

FLR

Edited by: Floyola on Jan 18, 2011 6:00 PM