Ver Mensaje Individual
  #8 (permalink)  
Antiguo 20/10/2015, 02:30
elfonario
 
Fecha de Ingreso: julio-2007
Mensajes: 10
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Duda inner join

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Las dos condiciones son contradictorias, porque un mismo registro no puede tener dos valores en un campo dado al mismo tiempo.
Para hacer lo que quieres deberás hacer un or con GROUP BY, usando un HAVING COUNT (*)=2.
lo pillé.. muchas gracias por la ayuda. Al final entendí la relación entre el OR y el Having. A tantas condiciones como haya se le ha de asignar el mismo valor a having count. Lo explico por si alguien llega hasta aquí!

select tabla1.ID from tabla1
INNER JOIN tabla2 on tabla1.ID=tabla2.ID
WHERE
(tabla2.CAMPO1='1' and tabla2.CAMPO2='1')
OR
(tabla2.CAMPO1='2' and tabla2.CAMPO2='1')
OR
(tabla2.CAMPO1='3' and tabla2.CAMPO2='1')
GROUP BY tabla1.ID
HAVING COUNT(tabla2.ID) = 3


Gracias a todos!

Última edición por elfonario; 20/10/2015 a las 02:55