![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
22/08/2012, 04:25
|
| | Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 17 años, 1 mes Puntos: 2 | |
Respuesta: query amistad Cita:
Iniciado por leonardo_josue Hola Blashak:
Este es un problema que hemos comentado muchas veces en el foro, depende mucho de cómo quieres presentar tu información. Una posible respuesta sería utilizando un doble INNER JOIN sobre la tabla de usuarios, utilizando un ALIAS, esto sería más o menos así, supongamos que tienes esta información:
Código MySQL:
Ver original+------+--------+ | id | nombre | +------+--------+ | 1 | HUGO | | 2 | PACO | | 3 | LUIS | | 4 | DONALD | +------+--------+ +------+------------+-------------+ | id | id_usuario | id_usuario2 | +------+------------+-------------+ | 1 | 1 | 2 | | 2 | 1 | 3 | | 3 | 2 | 3 | | 4 | 4 | 1 | +------+------------+-------------+
Supongamos que quieres obtener la lista de amigos del usuario 1 = HUGO, podrías hacerlo asi:
Código MySQL:
Ver original -> WHERE A.id_usuario = 1 OR A.id_usuario2 = 1; +------+--------+------+--------+ | id | nombre | id | nombre | +------+--------+------+--------+ | 4 | DONALD | 1 | HUGO | | 1 | HUGO | 2 | PACO | | 1 | HUGO | 3 | LUIS | +------+--------+------+--------+
Observa que en cada registro se repite la información del usuario HUGO, si sólo quieres listar la información de sus amigos, también lo puedes hacer con un UNION:
Código MySQL:
Ver original -> WHERE A.id_usuario = 1 -> WHERE A.id_usuario2 = 1; +------+--------+ | id | nombre | +------+--------+ | 2 | PACO | | 3 | LUIS | | 4 | DONALD | +------+--------+
Creo que esto te debe servir. Dale un vistazo y nos comentas.
Saludos
Leo. leonardo_josue,
muchas gracias, utilice la query de union. |