¡ Buenas a todos !
Tengo un problema con una consulta SQL.
Tampoco sabia muy bien en que parte del foro debia iniciar este tema...por eso lo pongo en dudas generales.
El problema es el siguiente: Tengo 2 tablas con una relacion reflexiva (usuario<->usuarioAmigos). La tabla usuario(idUsuario, nombre) y la tabla usuarioAmigos (idUsuario, idAmigo). Tengo que hacer una consulta que me muestre las siguientes columnas (idUsuario, nombreUsuario, idAmigo, nombreAmigo).
El problema lo tengo con los datos de la columna nombreAmigo...idUsario, nombreUsuario y idAmigo los saco correctamente, pero en la columna nombreAmigo me saca los datos de la columna nombreUsuario....
Llevo 2 dias con este ejercicio y no soy capaz de sacarlo...Esto es lo que tengo hecho:
SELECT usuario.idusuario, usuario.nombreapellidos, usuarioamigos.idamigo, usuario.nombreapellidos FROM usuario
INNER JOIN usuarioamigos ON usuario.idusuario=usuarioamigos.idusuario
WHERE usuario.nombreapellidos IN(
SELECT usuario.nombreapellidos FROM usuario
INNER JOIN usuarioamigos ON usuario.idusuario=usuarioamigos.idamigo
)
ORDER BY usuario.idusuario
La salida de la consula es esta:
idusuario nombreUsuario idamigo nombreAmigo
1 nombreapellidos1 2 nombreapellidos1
1 nombreapellidos1 3 nombreapellidos1
1 nombreapellidos1 5 nombreapellidos1
1 nombreapellidos1 6 nombreapellidos1
2 nombreapellidos2 1 nombreapellidos2
2 nombreapellidos2 3 nombreapellidos2
2 nombreapellidos2 4 nombreapellidos2
¿Alguien sabe como hacer un alias o algo parecido en la columna nombre del amigo para que la distinga de la columna nombre del usuario?
Muchas gracias, un saludo.