Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2008, 10:22
TEKILA
 
Fecha de Ingreso: octubre-2008
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 0
Intersectar varias consultas

Hola, ya no me quedan pelos en la cabeza de los que tirarme, asi que haber si alguno me podeis dar una idea.
Tengo varias sentencias de este tipo, aqui os muestro 2 ejemplos:
Código:
SELECT * FROM empleados WHERE nombre LIKE "%ca%" OR apellido LIKE "%ca%" UNION 
SELECT * FROM empleados WHERE profesion = ANY
(SELECT id FROM ocupaciones WHERE trabajo LIKE "%ca%" OR segundotrabajo LIKE "%ca%")
Código:
SELECT * FROM empleados WHERE religion = ANY
(SELECT id FROM religiones WHERE nombre LIKE "%cristiano%")
El primer ejemplo hace 2 busquedas (una simple y otra anidada) y une los resultados, mientras que el segundo ejemplo realiza una unica busqueda anidada.
Aqui es donde viene mi gran duda... ¿como puedo encontrar la interseccion de resultados de estos dos tipos de busquedas?. Se hacerlo con consultas simples con inner join, pero no encuentro la manera al ser las dos consultas muy complicadas (y ese UNION por enmedio tampoco ayuda).
Cualquier idea me vale... ya no se me ocurre nada mas que probar.
Muchas gracias desde ya.