Duda en query de pagos

Hola buen dia como le puedo hacer para que solo me salga una linea de los pagos y las facturas …y no me salgan uno por cada factura

SELECT T0.DocDate,CASE WHEN U_BXP_TIMBRAPARC='T' THEN 'TERMINADA' WHEN U_BXP_TIMBRAPARC='E' THEN 'ERROR' WHEN U_BXP_TIMBRAPARC='N' THEN 'NO TIMBRAR' END ESTATUS,
T0.U_BXP_TIMBRADOMSJS, T0.DocNum,T0.U_BXP_UUID,T0.CardCode,T0.CardName,T1.DocNum,T1.NumAtCard,T1.CardName
FROM ORCT T0, OINV T1 , RCT2 T3
where T0.DocDate >='20230301' AND T0.DocEntry = T3.DocNum AND T3.DocEntry = T1.DocEntry AND T0.U_BXP_TIMBRAPARC='T'
ORDER BY t0.DocDate DESC

Hola @Angeles12343 bienvenida…

Si has leído antes algo el foro, como supongo que si has hecho, estaría bien tu tema de presentación.

Además así categorizas tu tema en la categoría adecuada (nadie de otra categoría podrá aportarte solución o ayuda si no lo ubicas correctamente)… sospecho que es SAP Business One y si además cuando posteas código sql lo formateas adecuadamente y un gracias o un por favor…sería ya para tirar cohetes.

Voy a dejar tu tema así a ver si corriges todos los defectos.

1 me gusta

@alexrosascoti la idea era que el usuario @Angeles12343 hiciese esas correcciones…

1 me gusta

que tal meqs

Disculpa por la mañia de acomodar las cosas, saludos.

Hola:

Podrías agregar la función GROUP BY y agrupar por los campos que deseas que sean únicos. En este caso, puedes agrupar por el número de documento del pago. Además, recuerda asegurarte de incluir los campos relevantes de la factura en la cláusula SELECT, como SUM o MAX, para que se muestre una única fila por pago. La consulta podría quedarte algo así:

SELECT 
    T0.DocDate,
    CASE 
        WHEN U_BXP_TIMBRAPARC='T' THEN 'TERMINADA' 
        WHEN U_BXP_TIMBRAPARC='E' THEN 'ERROR' 
        WHEN U_BXP_TIMBRAPARC='N' THEN 'NO TIMBRAR' 
    END AS ESTATUS,
    T0.U_BXP_TIMBRADOMSJS,
    T0.DocNum,
    T0.U_BXP_UUID,
    T0.CardCode,
    T0.CardName,
    MAX(T1.DocNum) AS DocNum_Factura,
    MAX(T1.NumAtCard) AS NumAtCard_Factura,
    MAX(T1.CardName) AS CardName_Factura
FROM 
    ORCT T0 
    INNER JOIN RCT2 T2 ON T0.DocEntry = T2.DocNum 
    INNER JOIN OINV T1 ON T2.DocEntry = T1.DocEntry 
WHERE 
    T0.DocDate >='20230301' 
    AND T0.U_BXP_TIMBRAPARC='T'
GROUP BY 
    T0.DocDate,
    T0.U_BXP_TIMBRADOMSJS,
    T0.DocNum,
    T0.U_BXP_UUID,
    T0.CardCode,
    T0.CardName
ORDER BY 
    T0.DocDate DESC

En el ejemplo hemos utilizado la función MAX para obtener los valores de los campos de factura. Espero que esto te ayude. ¡Saludines!

¡Ah! ¡Bienvenida @Angeles12343 ! Aprovechando la oportunidad recuerda (y participantes nuevos si leen esto) lo importante que es presentarse adecuadamente antes de comenzar a publicar y comentar en el foro.

@meqs y @alexrosascoti por mencionar a algunos hacen un esfuerzo por asegurarse de que este espacio sea lo más informativo y útil posible para todos los usuarios, y eso incluye conocer algunos datos generales de quienes forman parte de nuestra comunidad.

Recuerda (o recuerden) que estamos aquí para compartir conocimientos, experiencias y soluciones en torno a SAP. Saber la versión que utilizan, el sector en el que trabajan y otros detalles relevantes, puede ser de gran ayuda para que los demás usuarios puedan brindarles una respuesta más efectiva y precisa.

He leído a los administradores y siempre mencionan respetuosamente que antes de publicar cualquier comentario, se presenten en el foro para que todos podamos conocernos un poco mejor. Estoy seguro de que con la colaboración de todos podremos mantener este espacio ordenado y enriquecedor para cada uno de nosotros.

Por aquí Presentaciones

¡Gracias!

Apoyo ese comentario :+1:

3 Me gusta

Si me parece muy bien… pero déjales unas horas o días más… a ver si se dan por enterados…

1 me gusta