Documento mas cantidad en una sola linea

Buenas tardes amigos

tengo el siguiente Query que me muestra el numero de orden y los artículos pero en varias líneas dependiendo de la orden, requiero que se una sola linea con el numero de documento y la cantidad de líneas.

En la imagen pueden ver que son 7 lineas. pues requiero una sola linea el numero y la cantidad total.

SELECT T0."DocNum", T1."DocEntry" FROM ORDR T0 INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"

image

Buenas tardes.
Lo que quieres que salga 1 linea en lugar de 7 ya que el detalle de RDR1 de ese documento es de 7 lineas ¿correcto?

SELECT distinct T0."DocNum", T1."DocEntry" FROM ORDR T0 INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"

Listo Con DISTINCT haces eso.

Saludos.

Gracias José.

Pero creó que hay algo mal por que ahora me muestra lo siguiente:

Y lo que quería era que me indicara la cantidad de líneas en la orden de venta.

Osea que solo le agrgas el LineNum y queda así:
SELECT distinct T0."DocNum", T1."DocEntry",T1."LineNum" FROM ORDR T0 INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry"order by T0."DocNum"

José me lo muestra asi pero me esta mostrando las 5 líneas yo necesito una sola con el documento #1 y la cantidad de líneas 5

Buenas,

Tienes que utilizar GROUP BY para agrupar por número de documento y poner como contador el campo DocEntry de las líneas.

SELECT T0.“DocNum”, count(T1.“DocEntry”) AS Numero_lineas FROM ORDR T0 INNER JOIN RDR1 T1 ON T0.“DocEntry” = T1.“DocEntry”
GROUP BY T0."DocNum"

Saludos!

1 me gusta

ok ya lo corregí ayer no pude contestar porque salí del trabajo pero aquí esta tu solución, hay que contar el numero de líneas por documento y así queda:
SELECT MAX(T0."DocNum"), T1."DocEntry",COUNT(T1."LineNum") FROM ORDR T0 INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry" GROUP BY T1."DocEntry"

1 me gusta

Me parece que lo que quieres es algo asi:


SELECT distinct T0.[DocNum], T1.[DocEntry], count (T1.[LineNum] + 1 ) as 'Numero de Lineas'

FROM ORDR T0  INNER JOIN RDR1 T1 ON T0.[DocEntry] = T1.[DocEntry]

 WHERE T0.[DocDate] >= [%0] 

GROUP BY T0.[DocNum], T1.[DocEntry]

Ademas le agregue una condicion en where para buscar solo desde una fecha determinada, pero si no necesitas eso lo puedes eliminar.

Saludos

Les agradezco a todos la ayuda ya logre lo requerido por gerencia.

Muchas gracias,

Jose una ultima consulta necesito un campo de la ODLN en ese Query como puedo agregar esa tabla a es este query ???

SELECT MAX(T0."DocNum"), T1."DocEntry",COUNT(T1."LineNum") FROM ORDR T0  
INNER JOIN RDR1 T1 ON T0."DocEntry" = T1."DocEntry" GROUP BY T1."DocEntry"

ok seria asi:

SELECT MAX(T3."DocNum"), T6."DocEntry",MAX(T0."DocNum"),COUNT(T6."LineNum")
FROM ODLN T0 
inner join DLN1 T1 on T1."DocEntry" = T0."DocEntry" and  T1."BaseType" in('17') and T1."TargetType" in ('13','15','-1')
inner join ORDR T3 on T3."DocEntry" = T1."BaseEntry"
inner join RDR1 T6 on T3."DocEntry" = T6."DocEntry"
GROUP BY T6."DocEntry"
1 me gusta

José lo hice de la siguiente manera sin embargo necesito un campo de la ODLN para eso la tabla sin embargo no me da muestra data

SELECT MAX(T3."DocNum"), T6."DocEntry",COUNT(T6."LineNum"), T0."U_NAV_LinChequeadas" FROM ODLN T0 
inner join DLN1 T1 on T1."DocEntry" = T0."DocEntry"
inner join ORDR T3 on T3."DocEntry" = T1."BaseEntry"
inner join RDR1 T6 on T3."DocEntry" = T6."DocEntry" GROUP BY T6."DocEntry"