表人和表的朋友 -我有一个叫人和朋友的表,
我想显示一个人的名字,其中person_id = 1,但是它显示的人的名字,其中person_id = 1,
人:
person id | name
---------- | ----------
1 | Jervy
2 | Pamela Shane
3 | Hikari
朋友:
ctrl_no | person_id | friend_id
---------- | ------------- | -----------
1 | 1 | 2
2 | 2 | 1
3 | 1 | 3
4 | 3 | 1
我在下面尝试了我的查询
SELECT person.name FROM person
JOIN friends ON person.person_id = friends.person_id
WHERE person.person_id = 1;
我的查询显示人名,其中person_id = 1而不是他朋友的名字...
我要表演。。。在哪里person.person_id = 1
Name
Pamela Shane
Hikari
现在让我感到困惑。TT
您的设计很好。查询只需要像这样:
SELECT person.name FROM person
JOIN friends ON person.person_id = friends.friend_id
WHERE friends.person_id = 1
您需要朋友的名字,所以您需要加入上的人员表friend_id
。否则,您只会反复获得同一个人的名字,我想这就是您现在所看到的。
而且标准需要检查friends.person_id
而不是person.person_id
。因为您想要该人在该表中的所有行。