SQL Multi Inner Join

时间:2012-08-23 15:44:40

标签: sql

您好,在我的系统中,我有一个管理员可以查看的学生的搜索页面 学生的历史我有一个问题,就是显示他/她的顾问的姓氏,即lname_A。这是我目前使用的代码到目前为止一切正常,除了我无法获得lname_a。

    $qry_display = "SELECT
        a.student_id, a.section_id, a.level, a.photo, a.address, a.father_occupation, a.father_phone, a.father_company, a.mother_occupation, a.mother_phone, a.mother_company,a.gpa,
        b.fname, b.sex, b.lname, b.mname, b.birth_date, b.birth_place, b.address, b.father, b.father_degree, b.mother, b.mother_degree,
        c.section_name, d.adviser_id , d.lname_a
        FROM tbl_er AS a
        LEFT OUTER JOIN tbl_enroll AS b ON a.student_id = b.student_id
        LEFT OUTER JOIN tbl_section AS c ON a.section_id = c.section_id
        LEFT OUTER JOIN tbl_adviser AS d ON a.section_id = d.adviser_id
        WHERE a.student_id=".$id." AND a.level='Grade 2'";

很乐意感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

您确定要加入两个表格还是正确的列? a.section_id = d.adviser_id

答案 1 :(得分:0)

如果每个学生都有顾问,那么你应该使用内连接而不是左外连接。

当你使用左外连接时,当学生没有顾问时,lname_a是空的。