Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/03/2008, 05:03
Psychocandy
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Consulta multitabla

Cita:
Iniciado por quimfv Ver Mensaje
Código:
SELECT t1.elemento, 
        GROUP_CONCAT( t2.descriptor SEPARATOR ", " ) AS descriptores
   FROM tabla1 t1 LEFT JOIN 
                   (tabla3 t3 LEFT JOIN tabla2 t2 
                          ON t3.id_descriptor = t2.id_descriptor) 
                   ON t1.id_elemento = t3.id_elemento
   WHERE t1.id_elemento>0
   GROUP BY t1.elemento;
No tengo el mysql aqui, pero tu problema esta en como relacionas las tablas, si no especificas como se relacionan hace un INNER JOIN con lo que solo te mostrará registros donde los campos comunes sean iguales, con LEFT JOIN te mostrarà TODOS los registtros del lado izquierdo de la relación y aquellos del lado derecho donde el campo comun sea igual...

(no se porque haces "WHERE t1.id_elemento>0")

Quim
Funciona perfecto!!!

Es justo lo que necesitaba, eres un fiera

En prinicipio parece que no pasa nada raro con los NULL, me los devuelve bien. Intentaré que me los convierta a algún string por eso. Estuve probando también con LEFT JOIN, pero de momento no lo controlo mucho. Lo del WHERE t1.id_elemento>0, es verdad que no hace falta, pegué el código directamente de una prueba que estaba haciendo y no me dí cuenta de que estaba.

Moltes gràcies!!!!