Comment sélectionner un champ qui est une sous-requête, qui renvoie plus de 1 valeur?

J'ai deux tables: une table d'user et une table [user_friend]. Dans la table [user_friend], vous pouvez voir quel user est ami avec un certain user.

La table User ressemble à ceci:

  [ID_user], [Nom d'user], [Mot de passe]
       1 Mikeyy1 666je
       2 misterG 8kdkd 

La table des amis ressemble à ceci: (où Friend_ID a une key étrangère à l'ID user dans Utilisateur)

[User_ID] [Friend_ID] 1 3 1 6 

Je veux interroger ce qui suit: montrer tous les noms des users avec les noms de leurs amis.

Jusqu'à présent, j'ai ceci:

 SELECT u.Username, f2.Friend_ID FROM [User] u JOIN [user_friend] f2 ON u.User_ID = f2.User_ID 

qui renvoie tout le nom d'user des users et les ID de leurs amis, mais je veux aussi leurs noms, alors j'ai pensé ceci:

 SELECT u1.Username, f2.Friend_ID, (SELECT u.Username FROM [User] u JOIN [user_friend] f ON u.User_ID = f.friend_ID) AS "Friend" FROM [User] u1 JOIN [user_friend] f2 ON u1.User_ID = f2.User_ID 

mais cela donne l'erreur que la sous-requête returnne plus de 1 valeur, comment puis-je résoudre ce problème?

Merci d'avance!

@Felix Pamittan Est le moyen habituel pour le résoudre. Mais juste pour l'exhaustivité, votre requête d'origine devrait être

 SELECT u1.Username, f2.Friend_ID, (SELECT u2.Username FROM [User] u2 WHERE u2.User_ID = uf.friend_ID) AS "Friend" FROM [User] u1 JOIN [user_friend] uf ON u1.User_ID = uf.User_ID 

Vous devez append un autre JOIN :

 SELECT u.Username, u2.Username FROM [User] u INNER JOIN [User_Friend] uf ON uf.User_ID = u.User_ID INNER JOIN [User] u2 ON u2.User_ID = uf.Friend_ID