Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/10/2008, 05:35
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Ayudita con select

No te lies...

La consulta no puede ser polivalente para los dos casos que planteas (con de porte o sin deporte) puesto que tendràs que introducir el valor de la variable donde tengas el deporte o pasarlo a cadena vacia puesto que el null te daria problemas.

Luego usa un condicional para usar una consulta u otra en funcion de si tienes o no deporte...

Sin deporte... no hace falta que intervenga para nada la t3

SELECT t1.nombre
FROM t1
INNER JOIN t2 ON t2.id_usuario=t1.id_usuario
WHERE ((t2.idioma='Español') OR (t2.id_idioma='Inglés'))
GROUP BY t1.id_usuario HAVING COUNT(t2.id)=2


Con deporte

SELECT t1.nombre
FROM t1
INNER JOIN t2 ON t2.id_usuario=t1.id_usuario
INNER JOIN t3 ON t3.id_usuario=t1.id_usuario
WHERE ((t2.idioma='Español') OR (t2.id_idioma='Inglés'))
AND t3.deporte='$Variable_con_el deporte'
GROUP BY t1.id_usuario HAVING COUNT(t2.id)=2

DISTINCTROW no hace falta ya que ya estas haciendo el GROUP BY

Si?

Quim