【发布时间】:2012-05-01 23:49:07
【问题描述】:
我有两张桌子
用户:(id、姓名)
关系:(user_id,relation_id)
User_id 和relation_id 都是users 表中的id。
我想要的是恢复所有与特定用户为朋友的用户。
这是我的 sql 命令:不起作用:
SELECT *
FROM users
NATURAL JOIN relations
WHERE user_id IN (SELECT id FROM users WHERE name='John doe');
你能帮帮我吗?
【问题讨论】:
-
SELECT * FROM users JOIN relations on id = user_id WHERE user_id IN (SELECT id FROM users WHERE name='John doe'); -
如何判断一个人是不是朋友?我知道它在关系表中,但它背后的逻辑是什么?
-
谢谢,但它给我的名字总是 John doe...
-
@Vodemki 我相信大多数答案都是错误的,因为人们混淆了
relation_id和user_id。试试我的答案,它应该适合你。