我正在创建一个应用程序,为大学里的希腊生活事件制作客人名单。
参与者表字段为:participant_id,成员(与student_id相关),guest(与student_id相关)和事件。 在尝试将guest虚拟机添加到某个事件的guest列表时,我编写了以下sql查询来过滤掉来自不同大学的学生,这些学生不在章节中,并且已经不在列表中:
$student = getColumn("SELECT guest FROM participant WHERE event = '$event'");
$university = getSqlValue("SELECT university FROM student WHERE student_id = '$member'");
$f->setOption('filter',
"SELECT student_name
FROM `student`
LEFT JOIN participant ON student.student_id = participant.guest
WHERE student.chapter = ''
AND student.university = '$university'
AND participant.guest != '$student'");
所以,我知道这不会起作用,因为我为$ student提供了一个完整的数组,但即使我尝试使用一个学生ID,查询也无法正常工作。它返回空。如果我删除最后一个AND particpant.guest!= $ student,那么查询将返回大学中不是章节成员的所有学生。
我的问题分为两部分: