Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/01/2011, 05:29
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta que me trae de cabeza

popobcn,
imagino que tienes un id en esa tabla. Te daré una (seguro que hay otras) solución SQL con subconsulta dentro de la cual cruzo la tabla consigo misma y luego uno dos veces mediante UNION ALL para obtener los id que quier excluir. Seguramente con procedimiento almacenado sería mejor y más profesional, pero te doy lo que se me ha ocurrido por ahora:

SELECT * FROM tutabla WHERE tutabla.campo2 = 'perro' AND id NOT IN(SELECT t1.id FROM `tutabla` t1 INNER JOIN tutabla t2 ON (t1.campo1= t2.campo2 AND t1.campo2 = t2.campo1 AND t1.campo2 = 'perro')
UNION ALL
SELECT t2.id FROM `tutabla` t1 INNER JOIN tutabla t2 ON (t1.campo1= t2.campo2 AND t1.campo2 = t2.campo1 AND t1.campo2 = 'perro'))