条件要求把b表的最新的合同信息databeg,dateend更新到a表HTBEGDATE合同开始 HTENDDATE合同结束 查询已经写好了,求更新语句
SELECT h.a0188,MAX(h.A_ID),h.datebeg,h.dateend
FROM a01 a ,ht01 h
WHERE a.a0188=h.a0188
GROUP BY h.a0188,h.datebeg,h.dateend
你只要更新2列,为什么select里有4列
update 表
set (databeg,dateend)
= (SELECT h.datebeg,h.dateend
FROM a01 a ,ht01 h
WHERE a.a0188=h.a0188
GROUP BY h.a0188,h.datebeg,h.dateend)
UPDATE a
SET a.HTBEGDATE=h.datebeg,b.HTENDDATE=h.dateend
FROM a01 a ,ht01 h
WHERE a.a0188=h.a0188
GROUP BY h.a0188,h.datebeg,h.dateend
以上是SQLSever的,这个跟所用数据库也有关系,不同数据库会有些许差异。