Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 检查字段组合是否存在_Mysql - Fatal编程技术网

Mysql 检查字段组合是否存在

Mysql 检查字段组合是否存在,mysql,Mysql,我有一个查询,显示学生可以注册的模块,并将其显示在列表中。。如果学生注册的模块没有显示在列表中,我会这样做。学生注册模块后,该模块将存储在名为tbl_studentModule的表中,该表有两个字段:regNum($studentID)和moduleID 我需要添加什么到这个查询中,以仅显示tbl_studentModule中没有的模块以及相关的regNum 例如,如果tbl_studentModule不存在regNum和moduleID的组合,我希望这个查询说明一些情况 这是我到目前为止所拥有

我有一个查询,显示学生可以注册的模块,并将其显示在列表中。。如果学生注册的模块没有显示在列表中,我会这样做。学生注册模块后,该模块将存储在名为tbl_studentModule的表中,该表有两个字段:regNum($studentID)和moduleID

我需要添加什么到这个查询中,以仅显示tbl_studentModule中没有的模块以及相关的regNum

例如,如果tbl_studentModule不存在regNum和moduleID的组合,我希望这个查询说明一些情况

这是我到目前为止所拥有的

SELECT DISTINCT am.moduleID, m.moduleName, am.type, s.regNum, s.award
FROM tbl_awardModules am
LEFT OUTER JOIN tbl_module m ON am.moduleID = m.moduleID
INNER JOIN tbl_awardLevels al ON am.awardLevelID = al.awardLevelID
INNER JOIN tbl_award a ON al.awardID = a.awardID
INNER JOIN tbl_student s ON a.awardID = s.award
LEFT JOIN tbl_studentModules sm ON s.regNum = sm.regNum
WHERE am.type <> 'C' AND sm.regNum = '$student_id' AND m.moduleName <> 'A_null_Choice' AND m.moduleName NOT LIKE '%Not Running%'
选择不同的am.moduleID、m.moduleName、am.type、s.regNum、s.award
来自tbl_AwardAM模块
左外连接tbl_模块m在am.moduleID=m.moduleID上
am.awardLevelID=al.awardLevelID上的内部连接tbl_awardLevels al
内部连接tbl_在al.awardID=a.awardID上授予a
在a.awardID=s.award上内部加入tbl_学生
在s.regNum=sm.regNum上左连接tbl_studentModules sm
其中am.type“C”和sm.regNum=“$student\u id”和m.moduleName“A\u null\u Choice”和m.moduleName与“%NOT Running%”不同
希望这是有意义的…

好的,我用过了

我补充说

AND NOT EXISTS (SELECT * FROM tbl_studentModules WHERE regNum = '$student_id' AND moduleID = am.moduleID)
最后,如果查询现在如此,它只显示表中尚未包含该值组合的行