myql联合更新删除操作sql

version:5.7.27

-- 巡查状态同步更新到印章信息表
UPDATE lv_seal s INNER JOIN
(
SELECT
s.seal_no,p.`status`,p.vertify_type
FROM
lv_seal s
LEFT JOIN lv_seal_patrol p ON p.seal_no=s.seal_no
WHERE
p.vertify_type NOT IN ('0')
AND s.vertify_type = '0'
) t
ON s.seal_no = t.seal_no
SET s.vertify_type = t.vertify_type
-- 可加条件
WHERE s.vertify_type IN ('0');

-- 印章状态同步更新到巡查表中
UPDATE lv_seal_patrol pp
INNER JOIN
(
SELECT
p.seal_no,s.`status`,s.vertify_type
FROM
lv_seal_patrol p
INNER JOIN lv_seal s
ON p.seal_no=s.seal_no
WHERE
p.`status` != s.`status`
) ss
ON pp.seal_no = ss.seal_no
SET pp.`status`=ss.`status`;

-- 同步删除
DELETE
s,p -- s,p表记录都会删除
-- s -- 只会删除s表记录
FROM lv_seal s
INNER JOIN lv_seal_patrol p
ON s.seal_no = p.seal_no
WHERE s.seal_no='43012110000203';

原文地址:https://www.cnblogs.com/sung1024/p/15594002.html