Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2016, 12:31
leonagelic
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Combinar tablas y usar in para seleccionar registros de otra tabla

Buenas tardes, saludos...

Tengo varias tablas las cuales son contactos, grupos y grupos_contactos, la primera tiene información de contacto (nombre, apellidos, teléfono) grupos tiene el id del usuario, su id auto_increment y nombre del grupo, y el ultimo guarda el id del grupo y los id de los contactos separados por coma (,).

Mi duda es la siguiente como haría para unir las 3 tablas y extraer el nombre del grupo y los contactos respectivamente por ejemplo tengo guardado contactos id: 1,2,3 en el campo id_contactos de grupos_contactos y como dije cada id es de un contacto respectivamente en la tabla contacto que me muestre algo asi:

nombre grupo
Familia

Contactos
mama (04161234567)
papa (04161234567)
hermanos (041212345675)

y asi poder luego mostrarlos y editarlos.

las tablas están hechas así:

grupos
id
id_usuario
nombre

gupos_contactos
id_grupo
id_contactos

contactos
id
id_usuario
nombres
apellidos
cod_pais
telefono
agregado

Tengo la siguiente query sql pero solo me muestra el primer id de la lista como dije los id los guardo en formato (1,2,3) y el id_usuario es quien guarda los contactos y crea los grupos en sus cuentas:

Código SQL:
Ver original
  1. SELECT grupos.id, grupos.id_usuario, grupos.nombre, grupos_contactos.id_grupo, grupos_contactos.id_contactos, contactos.id,contactos.nombres, contactos.telefono FROM grupos_contactos INNER JOIN grupos ON grupos.id = grupos_contactos.id_grupo INNER JOIN contactos ON contactos.id IN (grupos_contactos.id_contactos) WHERE grupos.id_usuario = '1'

quizás la pregunta ya fue hecha o esta por hay pero tengo un rato ya googleando y no encuentro nada parecido, agradecería de antemano cualquier ayuda prestada o si conocen algún tutorial también se los agradeceria