Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda con esta consulta please !!!!!!!!

Estas en el tema de Ayuda con esta consulta please !!!!!!!! en el foro de Mysql en Foros del Web. el problem es el siguiente: tengo una tabla tema que tiene: id_tema (llave primaria) ; nick (llave foranea) titulo_tema; descripcion; fecha_creado; una tabla respuestas que ...
  #1 (permalink)  
Antiguo 27/01/2008, 04:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Ayuda con esta consulta please !!!!!!!!

el problem es el siguiente:

tengo una tabla tema que tiene:

id_tema (llave primaria) ;
nick (llave foranea)
titulo_tema;
descripcion;
fecha_creado;


una tabla respuestas que tiene:

id_respuesta(llave primaria);
id_tema(llave foranea);
nick(llave_foranea);
titulo_resp;
descripcion;
fecha_creada;


Lo que quiero hacer es una consulta que me muestre el nombre del tema, el autor, fecha creado el tema y cantidad de respuestas que tiene.

es que al hacer el join con la tabla respuesta, solamente me muestra los temas ke tienen alguna respuesta como es de esperar, los ke no tienen pues de mas esta decir que no salen.

que puedo hacer para solucionar esto ????
  #2 (permalink)  
Antiguo 27/01/2008, 14:34
 
Fecha de Ingreso: enero-2008
Mensajes: 197
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Ayuda con esta consulta please !!!!!!!!

Haz un Left (Outer) Join ya que difiere del Join normal (inner join) sacando los que no tienen respuesta... echale un ojo en la red saludos!
  #3 (permalink)  
Antiguo 27/01/2008, 15:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Re: Ayuda con esta consulta please !!!!!!!!

Para ser más exacto, LEFT JOIN indica que las operaciones del predicado (WHERE) de la consulta operarán directamente sobre la primera (LEFT) de las tablas indicadas.
Esto hace que la respuesta a un LEFT JOIN devuelvan los registros que sean true o NULL ante la comparación. Lo bueno de esto es que permite una consulta de este tipo:
Cita:
SELECT * FROM TABLA1 LEFT JOIN TABLA2 USING (CAMPO_COMPARTIDO) WHERE TABLA1.CAMPOCLAVE IS NULL;
Esta consulta devuelve todos los registros de la TABLA1 que no coincidan con la TABLA2 cuando se iguala el CAMPO_COMPARTIDO.
  #4 (permalink)  
Antiguo 27/01/2008, 19:15
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Re: Ayuda con esta consulta please !!!!!!!!

muchas gracias a los que respondieron , problema resuelto !!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:43.