Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/02/2013, 13:21
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Problema con consulta a dos tablas

Hola harvey:

Por que no intentas hacer algo como esto:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM personas;
  2. +------------+--------+-----------+-----------+
  3. | id_persona | nombre | apellido1 | apellido2 |
  4. +------------+--------+-----------+-----------+
  5. |          1 | Pedro  | Perez     | Mateos    |
  6. |          2 | Maria  | Ramirez   | Marcos    |
  7. |          3 | Fulano | de        | Tal       |
  8. |          4 | Sutano | por       | Cual      |
  9. +------------+--------+-----------+-----------+
  10. 4 rows in set (0.00 sec)
  11.  
  12. mysql> SELECT * FROM relaciones;
  13. +-----------+----------+----------+
  14. | id_pareja | miembro1 | miembro2 |
  15. +-----------+----------+----------+
  16. |         1 |        1 |        2 |
  17. |         2 |        3 |        4 |
  18. +-----------+----------+----------+
  19. 2 rows in set (0.00 sec)
  20.  
  21. mysql> SELECT
  22.     ->   id_pareja,
  23.     ->   CONCAT(P1.nombre, ' ', P1.apellido1, ' ', P1.apellido2) miembro1,
  24.     ->   CONCAT(P2.nombre, ' ', P2.apellido1, ' ', P2.apellido2) miembro2
  25.     -> FROM relaciones R
  26.     -> INNER JOIN personas P1 ON P1.id_persona = R.miembro1
  27.     -> INNER JOIN personas P2 ON P2.id_persona = R.miembro2;
  28. +-----------+--------------------+----------------------+
  29. | id_pareja | miembro1           | miembro2             |
  30. +-----------+--------------------+----------------------+
  31. |         1 | Pedro Perez Mateos | Maria Ramirez Marcos |
  32. |         2 | Fulano de Tal      | Sutano por Cual      |
  33. +-----------+--------------------+----------------------+
  34. 2 rows in set (0.00 sec)

El código es exclusivamente MySQL, porque no tengo conocimientos con PHP, pero creo que te puede servir.

Saludos
Leo.