为什么此查询不使用查找更新字段?

Why won't this query update the field with the lookup?

我正在尝试 运行 以下查询来更新一个 table。日期和电子邮件地址有效并可继续使用,但我用来从引用 table 获取 Subject_1 的嵌套查询无效。我究竟做错了什么?

 SELECT
    FirstRegistered As SignUpdate,
    (SELECT Subj_ClusName FROM tblSubjectLookup INNER JOIN PAD_ApplicantLost2000 ON tblSubjectLookup.Subj_Name=PAD_ApplicantLost2000.raw_subj_interest_1) AS Subject_1,
    Email_Address
 FROM PAD_ApplicantLost2000

来源 table、PAD_ApplicantLost2000 有一个 'raw subject' 列,其中包含例如 'Biology'。还有一个table,tblSubjectLookup,里面有所有科目的代码,所以Subj.Name有'Biology','Subj_ClusName'有'B1',就是需要进去的我的目标 table。但是,目标 table 中的 Subject_1 字段不会填充。

我做错了什么?

为什么不直接使用 WHERE 子句而不是再次加入 table。我还添加了 LIMIT 1 以确保只返回 1 个值。

SELECT
  FirstRegistered As SignUpdate,
  (SELECT Subj_ClusName FROM tblSubjectLookup WHERE tblSubjectLookup.Subj_Name = PAD_ApplicantLost2000.raw_subj_interest_1 LIMIT 1) AS Subject_1,
  Email_Address
FROM PAD_ApplicantLost2000

另一种可能更好的方法是直接加入 table。

SELECT
  FirstRegistered As SignUpdate,
  Subj_ClusName AS Subject_1,
  Email_Address
FROM PAD_ApplicantLost2000
LEFT JOIN tblSubjectLookup ON tblSubjectLookup.Subj_Name = PAD_ApplicantLost2000.raw_subj_interest_1