0

您好,在我的系统中,我有一个学生的搜索页面,管理员将能够查看学生的历史记录我在显示他/她的顾问的姓氏 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'";

很乐意为您提供任何帮助。

4

2 回答 2

4

您确定要加入两个表或正确的列吗?a.section_id = d.adviser_id

于 2012-08-23T15:53:00.923 回答
0

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

当您使用左外连接时,当学生没有顾问时,lname_a 可能为空。

于 2012-08-23T15:52:44.650 回答