摘要:
突然接到这样的一个需求:假设现在有3张有相关联的表A、B、C、,现在我要更新表A的数据,但是现在要求更新A表的数据{id}存在B表中,同时又要存在于C表中,起初在想SQL 的Update语句好像只有单纯的所以感到很懊恼不知如何下手:
SQL 语句
UPDATE A SET 要更新的数据 WHERE id=相关值
后来想想如果用判断语句来对其进行约束其更新的数据存在于B、C表
SQL 语句
IF (SELECT COUNT(1) FROM B WHERE A_id=id)>0 AND (SELECT COUNT(1) FROM C WHERE A_id=id) >0 BEGIN UPDATE A SET 要更新的数据 WHERE id=相关值 END
后来在网上找到了类似的其实是可以用Join 语句来操作的就是在我们写了更新语句的条件前下Join的相关联的表
SQL 语句
UPDATE A SET 要更新的数据 FROM A LEFT JOIN B ON A.id = B.A_id LEFT JOIN C ON A.id = C.A_id WHERE id = 相关值
就这样处理了这个问题 所以做个笔记记录下