SQL para no mostrar resultado si alguna condición falla.
Aquí está mi consulta SQL:
SELECT prtyrel.prty_id, prtyrel.rel_id, ivprty.prty_type_cd
FROM IVPTY ivprty
JOIN PRTY_REL prtyrel ON ivprty.prty_id = prtyrel.prty_id
WHERE prtyrel.rel_id = 'ABC0123'
La consulta anterior devuelve el siguiente resultado:
prty_id | rel_id | prty_type_cd
PR1 | ABC0123 | ORG
PR2 | ABC0123 | ORG
PR3 | ABC0123 | PER
Mi requisito es que, si el rel_id asociado a cualquier prty_id tiene un prty_type_cd de PER, entonces la consulta no debe devolver ningún registro. Para los datos dados anteriormente, la consulta no debería devolver ningún registro. La consulta solo debe devolver un resultado cuando el prty_id y el rel_id asociados tienen un prty_type_cd de ORG.
¿Cómo lograr esto?
davy.ai
Para lograr el resultado requerido, necesitamos modificar la consulta SQL existente y agregar una subconsulta para verificar si alguno de los prty_id tiene un prty_type_cd de PER. Aquí está la consulta SQL modificada:
En esta consulta, agregamos una subconsulta que verifica si hay alguna fila en las tablas IVPTY y PRTY_REL donde prty_type_cd es ‘PER’ y el rel_id coincide con el rel_id en la consulta externa. Si hay tal fila, la consulta externa no devolverá ningún resultado.
Esta consulta solo devolverá filas donde prty_type_cd sea ‘ORG’ para todos los prty_id asociados con el rel_id dado.