我有两个表'用户'和'朋友'我很难加入他们
users table
id | name | usercode
--------------------
1 | david | 2WM
2 | Samme | E5N
3 | Awudu | C0Q
4 | John | VX6
5 | Jerem | FG3
Friends Table
id | actor | target
--------------------
1 | E5N | FG3
2 | 2WM | VX6
3 | FG3 | 2WM
4 | C0Q | VX6
5 | FG3 | VX6
基本上我想从USERS表中选择FRIENDS表中目标或actor列中有'FG3'的所有用户。 结果将是
id | name | usercode | actor | target
--------------------------------------
2 | Samme | E5N | E5N | FG3
1 | david | 2WM | FG3 | 2WM
5 | John | VX6 | FG3 | VX6
我已经把我所知道的一切都转移了,但我仍然没有得到正确的结果 如果有人能帮助我,我会很高兴,因为我明天早上需要介绍这项工作。谢谢
答案 0 :(得分:2)
您希望加入usercode
等于actor
或target
,然后点击' FG3'参与WHERE
条款:
SELECT users.id, users.name, users.usercode, friends.actor, friends.target
FROM users
INNER JOIN friends
ON users.usercode = friends.actor OR users.usercode = friends.target
WHERE users.usercode != 'FG3'
AND (friends.actor = 'FG3' OR friends.target = 'FG3');
使用INNER JOIN
将查询限制为仅存在于两个表中的记录。