列出所有朋友的用户ID的SQL查询
问题描述:
我有2代表一用户表(user_ID的,FNAME,LNAME,出生日期等)和are_friends表 (userA_id,userB_id)。我一直试图做这个查询一段时间,我需要它列出一个user_id的所有朋友。列出所有朋友的用户ID的SQL查询
我有这么远,
SELECT
U.user_id,
U.fname,
U.lname
FROM are_friends A, user U
WHERE
A.user_id = U.user_id
AND (
A.user_id = 1
OR A.user_id IN (SELECT userB_id FROM are_friends WHERE userA_id = 1)
);
任何帮助将非常感激。
答
尝试使用INNER JOIN
这样的:
SELECT u2.user_id, u2.fname, u2.lname
FROM user u
INNER JOIN are_friends f ON f.userA_id = u.user_id
INNER JOIN user u2 ON u2.user_id = f.userB_id
WHERE u.user_id = 1
您可以更改WHERE
条款具体再弄用户ID的朋友。
+0
感谢您的快速回复。我会尝试这个并回复你。再次感谢。 – 2013-04-08 00:21:03
你用MySQL **和** Oracle标记了你的问题。你真的在用什么? – 2013-04-08 07:09:50
在oracle下使用SQLPLUS。 – 2013-04-08 14:48:11