
29/10/2008, 05:35
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 17 años 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 |