2017-08-10 96 views
0

我想使用以下更新语句根据它在master_table中找到的匹配数更新table1_orig_namesplits表的SUIDMatches列。 但是我得到一个“错误代码:1054.未知列'al.source_id'在'on子句'”错误。Sql:关于更新语句

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); 

有一个在table1_orig_namesplitssource_id塔以table1_origid_names列匹配。 任何人都可以请建议如何解决这个更新声明?

回答

0

问题似乎是,子查询尝试使用test.table1_orig_namesplits中不属于连接的列的test.table1_origtest.master_table

对于进一步的测试/分析,一些示例数据会有所帮助,但基本思想是您必须加入子查询中的al,或采取不同的方法。