Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/11/2014, 16:43
andre___5025
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Subconsulta con tres tablas

Hola quimfv, lo que pasa es que estoy haciendo un sistema de debate en donde cada experto(usuario) debe responder un tema, es decir, que con este query estoy listando los temas que le hace falta por responder al experto que esté en sesión:

Código SQL:
Ver original
  1. SELECT t.* FROM tema t LEFT OUTER JOIN (SELECT dilig_cuest.cod_tema,dilig_cuest.cod_experto
  2. FROM dilig_cuest WHERE dilig_cuest.cod_experto=10) Sbc ON t.cod_tema=Sbc.cod_tema   WHERE Sbc.cod_tema IS NULL

Ahora, al momento de crear cada experto se debe saber en que tema es especializado, por este motivo en la tabla "expertos" tiene el campo "cod_esp" que permite identificar en que tema se especializa. Ahora debo mostrar los temas que le debe aparecer a cada experto para responder ya que en la tabla "tema" tambien se guarda la especializacion del tema que trata con "cod_esp" algo asi como expertos.cod_esp=tema.cod_esp la cual estoy tratando de hacer en esta subconsulta pero no me realiza el filtro sino al contrario, me diplica los registros.

Código SQL:
Ver original
  1. SELECT t.*
  2.                 FROM tema t
  3.                 LEFT OUTER JOIN (SELECT dilig_cuest.cod_tema,dilig_cuest.cod_experto
  4.                            FROM dilig_cuest
  5.                            WHERE dilig_cuest.cod_experto=$codigo_experto) Sbc ON t.cod_tema=Sbc.cod_tema
  6.                 LEFT OUTER JOIN(SELECT expertos.cod_experto,expertos.cod_esp FROM expertos) Sbc1 ON t.cod_esp=Sbc1.cod_esp
  7.                 WHERE Sbc.cod_tema IS NULL