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

unir 3 tablas

Estas en el tema de unir 3 tablas en el foro de Mysql en Foros del Web. estimados, necesito unir 3 tablas las tablas son estas listas .id .nombre contactos .id .nombre .estado (0/1) relacion .id_lista .id_contacto .estado (0/1) necesito, mostrar todas ...
  #1 (permalink)  
Antiguo 05/07/2009, 10:38
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
unir 3 tablas

estimados, necesito unir 3 tablas
las tablas son estas

listas
.id
.nombre

contactos
.id
.nombre
.estado (0/1)

relacion
.id_lista
.id_contacto
.estado (0/1)

necesito, mostrar todas las listas y para cada lista mostrar la cantidad de contactos relacionados

la siguiente consulta SQL funciona bien, pero no me muestra todas las listas, sino solamente las listas que tienen uno o mas contactos (falla por el segundo join seguramente)

Código HTML:
SELECT listas.id, listas.nombre, COUNT(relacion.id) cantidad_contactos
FROM listas
LEFT OUTER JOIN relacion ON relacion.id_listas = listas.id AND relacion.estado = 0
INNER JOIN contactos ON contactos.id = relacion.id_contacto AND contactos.estado = 0
WHERE listas.id = 1
GROUP BY listas.id
a mi modesto entender la union con la tabla contatos debe ser separada del resto de la consulta, porque esta afectando los resultados y solo deberia condicionar la cantidad de registros devueltos por la relacion

alguna idea?
__________________
On error no hago nada porque deje de fumar...
  #2 (permalink)  
Antiguo 09/07/2009, 10:34
Avatar de dieguicho  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires
Mensajes: 1.190
Antigüedad: 22 años, 5 meses
Puntos: 1
Respuesta: unir 3 tablas

nadie tiene idea de como hacer esto?
sigo dando vueltas probando pero.. siempre obtengo el mismo resultado
gracias
__________________
On error no hago nada porque deje de fumar...
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 14:24.