cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda query ov entregas

Former Member
0 Kudos

Buenos dias podrian ayudarme con el siguiente query que muestra las OV y sus entregas correspondientes

SELECT Distinct

T0.[DocNum] OV,

T2.[DocNum] Entrega

FROM ORDR T0

INNER JOIN RDR1 T1

ON T0.[DocEntry] = T1.[DocEntry]

INNER JOIN ODLN T2

ON T1.[TrgetEntry] = T2.[DocEntry]

esto funciona bien el unico detalle es que la orde de venta que no tiene entrega no me la muestra

como puedo hacer para que me muestre tambien estas ordenes de venta

agradesca su ayuda gracias

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hola lo he intentado como me indicas pero me sale la siguiente leyenda

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

Gracias

Former Member
0 Kudos

Hola...

Le agregué un DISTINCT al segundo select.

SELECT DISTINCT T0.DocNum 'Orden de Venta', T2.DocNum 'Entrega', (SELECT DISTINCT A.DocNum FROM OINV A INNER JOIN INV1 B ON A.DocEntry = B.DocEntry WHERE B.BaseType = '15' AND B.BaseEntry = T2.DocNum) 'Factura desde Entrega', (SELECT DISTINCT Y.DocNum FROM OINV Y INNER JOIN INV1 X ON Y.DocEntry = X.DocEntry WHERE X.BaseType = '17' and X.BaseEntry = T0.DocNum) 'Factura desde OV' FROM ORDR T0 LEFT JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
LEFT JOIN ODLN T2 ON T1.TrgetEntry = T2.DocEntry LEFT JOIN DLN1 T3 ON T2.DocEntry = T3.DocEntry LEFT JOIN OINV T4 ON T3.TrgetEntry = T4.DocEntry LEFT JOIN OINV T5 ON T1.TrgetEntry = T5.DocEntry

Saludos Cordiales,

Answers (2)

Answers (2)

Former Member
0 Kudos

Muchas Gracias En realidad si funciono lo hice en una DB de prueba y funciona bien.

Ahora trate de agregar la factura y tambien funciona, siempre y cuando el proceso sea OV->Entrega->Factura.

Porque si de la orde de venta se pasa directo a la factura entonces manda datos que no son los correctos.

Alguna idea de como hacerle para que el query muestre la informacion de la OV y si no tiene entrega la muestre como null y en la factura muestre el numero de factura.

este es el query

SELECT DISTINCT

T0.DocNum 'Orden de Venta',

T2.DocNum 'Entrega',

T4.DocNum 'Factura'

FROM ORDR T0

LEFT JOIN RDR1 T1

ON T0.DocEntry = T1.DocEntry

LEFT JOIN ODLN T2

ON T1.TrgetEntry = T2.DocEntry

LEFT JOIN DLN1 T3

ON T2.DocEntry = T3.DocEntry

LEFT JOIN OINV T4

ON T3.TrgetEntry = T4.DocEntry

Former Member
0 Kudos

Hola...

Prueba lo siguiente....

SELECT DISTINCT T0.DocNum 'Orden de Venta', T2.DocNum 'Entrega', (SELECT A.DocNum FROM OINV A INNER JOIN INV1 B ON A.DocEntry = B.DocEntry WHERE B.BaseType = '15' AND B.BaseEntry = T2.DocNum) 'Factura desde Entrega', (SELECT DISTINCT Y.DocNum FROM OINV Y INNER JOIN INV1 X ON Y.DocEntry = X.DocEntry WHERE X.BaseType = '17' and X.BaseEntry = T0.DocNum) 'Factura desde OV' FROM ORDR T0 LEFT JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
LEFT JOIN ODLN T2 ON T1.TrgetEntry = T2.DocEntry LEFT JOIN DLN1 T3 ON T2.DocEntry = T3.DocEntry LEFT JOIN OINV T4 ON T3.TrgetEntry = T4.DocEntry LEFT JOIN OINV T5 ON T1.TrgetEntry = T5.DocEntry

Espero te sea de ayuda

Saludos Cordiales,

Former Member
0 Kudos

Hola...

Prueba con el siguiente query...

SELECT DISTINCT T0.[DocNum] 'Orden de Venta', T2.[DocNum] 'Entrega' FROM ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry LEFT JOIN ODLN T2 ON T1.TrgetEntry = T2.DocEntry

Espero te sea de ayuda

Saludos Cordiales,