操作数应包含1列MySQL

时间:2012-08-08 09:38:00

标签: php mysql mysql-error-1241

有人知道这个查询会发生什么吗?我要做的是,如果courseID表中的elective_modules中的group_elective_modules不存在,则打印group_elective_modules中的所有退出。但我不断收到错误操作数应包含1列

这是我的查询

$alternativeEQuery = 
"SELECT elective_modules.courseID,elective_modules.yr 
 FROM elective_modules
 WHERE elective_modules.yr = '$year1' 
 AND elective_modules.courseID 
 NOT IN 
     (SELECT group_elective_modules.moduleID,group_elective_modules.courseName 
 FROM group_elective_modules 
 WHERE group_elective_modules.courseName = '$courseTitle'
 AND elective_modules.courseID = group_elective_modules.moduleID)";

$alternativeEResult = mysql_query($alternativeEQuery) or die($alternativeEQuery."<br/><br/>".mysql_error());

1 个答案:

答案 0 :(得分:4)

此子查询中不能有两列:

(SELECT group_elective_modules.moduleID,group_elective_modules.courseName 
 FROM group_elective_modules 
 WHERE group_elective_modules.courseName = '$courseTitle'
 AND elective_modules.courseID = group_elective_modules.moduleID)

使用正确的一个,或者添加第二个not in子句并在那里使用其他列名称。