Query Condicion de Pago

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.

Saludos.

Hola gracias por responder ya lo intente y sigo con el mismo problema :frowning:

Entonces prueba con esto:

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.

ya Hice pruebas y sigo teniendo el mismo problema…

Es extraño, yo ejecuto ese query y solo me lista facturas cuya condición de pago es 1 y -1.

Agrega T0.“GroupNum” en el Select y fíjate que realmente muestre valores diferentes a 1 y -1 en esa columna.

ya lo hice verifico y las facturas y mwe sigue listando GroupNum distintos a 1 y -1

De nuevo, que raro, mira mi consulta y mira el resultado:

Si le quito el WHERE me muestra otros GroupNum:

Hola @nidia

Intenta 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" IN ('1','-1') 
	   AND T0."PaidSum" < T0."DocTotal" 
	   AND T0."Series" <> 4 
	   AND T0."U_Tipo_Entrega" = '3'
1 me gusta

Gracias por la ayuda ya logre resolver el problema—

Hola compañera.

Nos complace saber que tu tema ha sido resuelto.

Te invitamos por favor a que marques la solución de este hilo y así poder darlo por cerrado.

Saludos. :wink:

Estaría bueno saber cómo lo resolviste. :thinking:

Los colegas intentaron ayudarte, y tú respondes que ya lo solucionaste y marcas tu propia respuesta como solución? :roll_eyes: 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.

4 Me gusta

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.