这是刚开始的更新语句:根据AMCARD表的ACCTCOMPID和ACCTDEPID字段关联LSBMZD表的LSBMZD_DWBH和LSBMZD_BMBH,得到相对于的LSBMZD_ID,然后根据这个LSBMZD_ID列匹配HRORGINFO表的MAPPINGORG字段,最终得到HRORGINFO表的NM字段,将AMCARD的USEDEPTID字段批量更新为NM字段
UPDATE AMCARD SET USEDEPTID=(
SELECT NM FROM HRORGINFO WHERE MAPPINGORG=(
SELECT LSBMZD_ID FROM LSBMZD WHERE LSBMZD_DWBH=ACCTCOMPID AND LSBMZD_BMBH=ACCTDEPTID
)
)
执行之后得到错误提示:
然后根据更新语句写出查询语句
SELECT AMID,NM,ACCTCOMPID,ACCTDEPTID,LSBMZD_ID,MAPPINGORG
FROM AMCARD,LSBMZD,HRORGINFO
WHERE USEDEPTID IS NULL
AND LSBMZD_DWBH=ACCTCOMPID
AND LSBMZD_BMBH=ACCTDEPTID
AND LSBMZD_ID=MAPPINGORG
得出查询结果:
很容易