【问题标题】:Selecting Unmatched records From two tables从两个表中选择不匹配的记录
【发布时间】:2012-09-07 16:38:06
【问题描述】:

我需要一个 Mysql 查询来解决以下问题。

我有两张桌子。

  1. Exam,包含 idexamname

  2. 字段
  3. Exam_Applied 字段为 idexamnamestudent_id

这里 student_id 是申请考试的学生的 ID,我存储在 Exam_Applied

现在我需要一个查询来从特定的 student_id 未应用的表考试中选择考试名称

请帮帮我。

【问题讨论】:

  • 这听起来像是一个硬件问题。确实,您尝试过什么?

标签: php mysql


【解决方案1】:

您可以使用NOT IN 回答您的问题。基本上它的作用是在子查询中,它获取特定学生获取的所有examnameNOT IN 检查表Exam 的examName,这些表Exam_Applied 上不存在

SELECT  id, examName
FROM    Exam
WHERE   examName NOT IN
        (
            SELECT examName
            FROM Exam_Applied
            WHERE Student_ID = 'idHERE'
        )

希望这是有道理的

【讨论】:

  • 假设id 指的是两个表中的考试ID,我将加入它,并且由于字段名称相同,我将ON 替换为USING(id)
  • @Ariel 你说得对。但我不确定Exam_Applied 上的ID 是否是Exam 表中的外键。我认为它是Exam_Applied 表的主键。
  • 完成了...非常感谢@John Woo...非常感谢您的帮助
  • @JohnWoo 抱歉跑题了,你睡过吗?
  • @JohnWoo 好像你在 24/7 ;)
猜你喜欢
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
  • 1970-01-01
  • 2022-09-22
  • 1970-01-01
相关资源
最近更新 更多