2017-08-10 192 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,或採取不同的方法。