我正在尝试更新来自另一个主要密钥为trans_nbr
的表。
我的发言如下。我得到的所有错误都是"语法错误已经发生"。主键是两个表之间唯一的链接,它们也包含相同的行数。
之前我能够做到这一点,但之后我发现brev_efile_user_doc_stats
表上的sequenceID有所不同,具体取决于审核流程中XML的处理方式,这就是corrected_seq_id
列的原因在同一张桌子里。
UPDATE
brev_efile_user_doc_stats.reviewed_event_code
, brev_efile_user_doc_stats.corrected_seq_id
SET
brev_efile_user_doc_stats.reviewed_event_code
, brev_efile_user_doc_stats.corrected_seq_id =
(SELECT
brev_efile_review.reviewed_event_code
, brev_efile_review.sequence_id
FROM
brev_efile_review
WHERE
brev_efile_review.trans_nbr = brev_efile_user_doc_stats.trans_nbr)
答案 0 :(得分:1)
这就是你要找的东西:
UPDATE
brev_efile_user_doc_stats
SET
brev_efile_user_doc_stats.reviewed_event_code = R.reviewed_event_code
, brev_efile_user_doc_stats.corrected_seq_id = R.sequence_id
FROM
brev_efile_user_doc_stats S
INNER JOIN brev_efile_review R
ON R.trans_nbr = S.trans_nbr
UPDATE brev_efile_user_doc_stats AS S
INNER JOIN brev_efile_review AS R ON R.trans_nbr = S.trans_nbr
SET S.reviewed_event_code = R.reviewed_event_code
, S.corrected_seq_id = R.sequence_id