我是MySQL新手,很抱歉这是个愚蠢的问题。
这是我的桌子。
学生桌:
SID (小学)
student_name
顾问(faculty.facultyID的外键)
requested_advisor (faculty.facultyID的外键)
教员表:
facultyID (主键)
advisor_name
我想要查询一个显示学生表中所有内容的表,但是我希望顾问和requested_advisor显示为名称,而不是ID号。
就像它在网页上显示的那样:
学生姓名:简·史密斯
SID: 860123456
现任顾问:约翰·史密斯
所需顾问:詹姆斯·史密斯
不是这样的
学生姓名:简·史密斯
SID: 860123456
现任顾问:1
请求顾问:2
SELECT student.student_name, SID, student_email, faculty.advisor_name
FROM student
INNER JOIN faculty ON student.advisor = faculty.facultyID;这是近在咫尺,但我不知道如何让requested_advisor作为一个名字出现。
发布于 2010-04-16 23:26:53
两次使用不同的别名,
SELECT
student.student_name,
SID,
student_email,
fac1.advisor_name AS 'advisor',
fac2.advisor_name AS 'requested advisor'
FROM student
INNER JOIN faculty fac1 ON student.advisor = fac1.facultyID
INNER JOIN faculty fac2 ON student.requested_advisor = fac2.facultyID;发布于 2010-04-16 23:30:26
SELECT s.student_name, s.SID, f.advisor_name, f2.advisor_name
FROM student s
JOIN faculty f ON s.advisor = f.facultyID
JOIN faculty f2 ON s.requested_advisor = f2.facultyID应输出
Jane Smith | 860123456 | John Smith | James Smithhttps://stackoverflow.com/questions/2656577
复制相似问题