Hola a todos Necesito ayuda… tengo un query que en teoría es sencillo pero no esta funcionando, neesito que solo me traiga cierto grupo por su condiciono de pago pero esta trayendo todas las condiciones de pago.
SELECT DISTINCT T0."DocEntry", T0."DocNum",T0."DocDate", T0."CardCode", T0."CardName",T1."SlpName",
( T0."DocTotal" -T0."PaidSum") as "Saldo Actual del Cleinte" , T1."SlpCode" FROM OINV T0 INNER JOIN
OSLP T1 ON T0."SlpCode" = T1."SlpCode" INNER JOIN INV1 T2 ON T0."DocEntry" = T2."DocEntry"
WHERE (T0."GroupNum"='1' AND T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4 ) OR
(T0."U_Tipo_Entrega"='3' AND T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4 ) OR
(T0."GroupNum"='-1' AND T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4 )
Hola @nidia revisa tu WHERE, tienes la siguiente condición:
(T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4 )
Esa condición hace que las otras 2 prácticamente sean desechadas.
Hazlo así:
SELECT DISTINCT T0."DocEntry", T0."DocNum",T0."DocDate", T0."CardCode", T0."CardName",T1."SlpName",
( T0."DocTotal" -T0."PaidSum") as "Saldo Actual del Cleinte" , T1."SlpCode"
FROM OINV T0
INNER JOIN OSLP T1 ON T0."SlpCode" = T1."SlpCode"
INNER JOIN INV1 T2 ON T0."DocEntry" = T2."DocEntry"
WHERE (T0."GroupNum"='1' AND T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4 ) OR
(T0."GroupNum"='-1' AND T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4 )
de ese modo te mostrará solo clientes cuya condición de pago sea ‘1’ o ‘-1’.
Además acostúmbrate a usar la funcionalidad de texto formateado para que sea más fácil copiar tu código y hacer pruebas.
SELECT DISTINCT T0."DocEntry", T0."DocNum",T0."DocDate", T0."CardCode", T0."CardName",T1."SlpName",
( T0."DocTotal" -T0."PaidSum") as "Saldo Actual del Cleinte" , T1."SlpCode"
FROM OINV T0
INNER JOIN OSLP T1 ON T0."SlpCode" = T1."SlpCode"
INNER JOIN INV1 T2 ON T0."DocEntry" = T2."DocEntry"
WHERE T0."GroupNum" IN ('1','-1')
--AND (T0."PaidSum"<T0."DocTotal" AND T0."Series" <> 4)
Si te funciona, entonces activa la última línea para agregar tu condición.
SELECT DISTINCT
T0."DocEntry",
T0."DocNum",
T0."DocDate",
T0."CardCode",
T0."CardName",
T1."SlpName",
T0."DocTotal" - T0."PaidSum") as "Saldo Actual del Cleinte",
T1."SlpCode"
FROM OINV T0
INNER JOIN OSLP T1 ON T0."SlpCode" = T1."SlpCode"
INNER JOIN INV1 T2 ON T0."DocEntry" = T2."DocEntry"
WHERE T0."GroupNum" IN ('1','-1')
AND T0."PaidSum" < T0."DocTotal"
AND T0."Series" <> 4
AND T0."U_Tipo_Entrega" = '3'
Los colegas intentaron ayudarte, y tú respondes que ya lo solucionaste y marcas tu propia respuesta como solución? Vamos @nidia, explica cómo lo solucionaste (con qué codigo), o marca la respuesta de algún compañero si esa respuesta ha solucionado tu problema.
Si no reconocemos entre todos el esfuerzo, este foro no sería lo que es hoy en día, ni mejoraremos como profesionales.