我正在尝试使用以下更新语句根据在master_table中找到的匹配项数更新table1_orig_namesplits表的SUIDMatches列。 但我得到一个“错误代码:1054。'on clause'中的未知列'al.source_id'”错误。
UPDATE test.table1_orig_namesplits al
SET al.SUIDMatches = (
SELECT count(distinct v.SUID)
FROM test.master_table v
JOIN test.table1_orig a ON al.source_id = a.id_names
WHERE al.name_first = v.FirstName
AND al.name_last = v.LastName
AND a.date_of_birth_dt = v.BirthDate_dt );
source_id
表格中的table1_orig_namesplits
列与id_names
的{{1}}列相匹配。
任何人都可以建议如何修复此更新声明?
答案 0 :(得分:0)
问题似乎是子查询尝试使用test.table1_orig
中不属于联接的列来test.master_table
加入test.table1_orig_namesplits
。
对于进一步的测试/分析,一些示例数据会有所帮助,但基本的想法是您要么必须加入子查询中的al
,要么采取不同的方法。