【问题标题】:Check if combination of fields exist检查字段组合是否存在
【发布时间】:2012-12-09 21:33:11
【问题描述】:

我有一个查询,显示可供学生注册的模块并将它们显示在列表中。如果学生注册的模块未显示在列表中,我希望它。一旦学生注册了一个模块,它就会存储在一个名为 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%'

希望这是有道理的......

【问题讨论】:

    标签: mysql


    【解决方案1】:

    好吧,我猜对了..

    我加了

    AND NOT EXISTS (SELECT * FROM tbl_studentModules WHERE regNum = '$student_id' AND moduleID = am.moduleID)
    

    如果查询到最后,那么现在它只显示表中尚未包含该值组合的行

    【讨论】:

      猜你喜欢
      • 2021-08-26
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2018-11-15
      • 2019-08-02
      • 1970-01-01
      • 2019-03-04
      相关资源
      最近更新 更多