1

誰かがこのクエリで何が起こっているのか知っていますか?私がやろうとしているのは、courseIDin elective_modulestableがtableに存在しない場合group_elective_modules、すべてのexitをで出力すること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());
4

1 に答える 1

4

ここでは、サブクエリに2つの列を含めることはできません。

(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)

正しいものを使用するか、2番目のnot in句を追加して、そこで他の列名を使用してください。

于 2012-08-08T09:39:20.960 に答える