SQL问题
我有一个学生表(ID和姓名)
我有另一张朋友表(ID1和ID2)
create table Students(ID int, name text);
create table Friends(ID1 int, ID2 int);
如果我输入:
SELECT Friends.ID1, Friends.ID2 FROM Friends
我明白了:
http://image.prntscr.com/image/d6e599ee5bd74c13822339afeb4c05ab.png
我想我需要使用:
SELECT Strudets.Name
from Friends, Strudents
Where Strudents.ID=Friends.ID
我想要显示两列名称
我需要在Students表中查找Friends.ID1并获取Strudents.name,然后对Friends.ID2执行相同操作,然后显示两个名称
使用更多信息进行编辑
当我输入时:
SELECT id1, name
FROM friends
INNER JOIN students
ON friends.id1 = students.id

我明白了:
我需要显示两列名称
来自@kbbal的答案
SELECT s1.NAME, s2.NAME
FROM FRIENDS
INNER JOIN STUDENT s1 ON FRIENDS.ID1 = s1.ID
INNER JOIN STUDENT s2 ON FRIENDS.ID2 = s2.ID

我喜欢这个网站! < 3
答案 0 :(得分:2)
你看起来很新,所以我会提出一个方法。
您的最终答案应该会在学生表中为您提供朋友的ID以及与其ID相对应的姓名。
根据评论进行修改:
以下是联接的方法:
SELECT friends.id1, s1.name, friends.id2, s2.name
FROM friends
INNER JOIN students s1
ON friends.id1 = s1.id
INNER JOIN students s2
ON friends id2 = s2.id
诀窍是实际加入学生表两次,每个朋友一次。然后你只需要创建别名(s1和s2),这样你就可以区分这两个实例。