Query de ordenes de venta

Hola amigos, gusto en saludarles, soy nueva en lenguaje sql, y me gustaría que me ayudaran en este query, quizás estoy haciendo una consulta errada con los join, me gustaría obtener todas las ordenes de venta abiertas incluso de aquellos productos que no se hayan facturado, actualmente me sale tanto los productos facturados como los no facturados. ¿Podrían ayudarme?

image

SELECT T0.[CardCode] AS ‘Cod cliente’, T0.[CardName] AS ‘Nombre de cliente’, T1.[Dscription], T0.[DocNum] AS ‘N° pedido’, T0.[DocDate] AS ‘Fecha de pedido’, T2.[DocNum] AS ‘N° Factura’, T2.[DocDate] AS ‘Fecha de factura’ FROM ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry LEFT JOIN OINV T2 ON T1.TrgetEntry = T2.DocEntry LEFT JOIN INV1 T3 ON T2.[DocEntry] = T3.[DocEntry] WHERE T0.[DocStatus] = ‘O’

Te obtiene todas las ordenes ABIERTAS
Toma solo en cuenta las lineas de las OV que aun no han sido procesadas.

SELECT T0.[CardCode] AS 'Cod cliente', 
T0.[CardName] AS 'Nombre de cliente',
T1.[Dscription], 
T0.[DocNum] AS 'N° pedido', 
T0.[DocDate] AS 'Fecha de pedido', 
T2.[DocNum] AS 'N° Factura', 
T2.[DocDate] AS 'Fecha de factura'
FROM ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry 
LEFT JOIN OINV T2 ON T1.TrgetEntry = T2.DocEntry 
LEFT JOIN INV1 T3 ON T2.[DocEntry] = T3.[DocEntry] 
WHERE T0.[DocStatus] = 'O' AND T1.LineStatus = 'O'

Pruebalo y comenta.

3 Me gusta

Gracias!! Era lo que necesitaba !