回答

收藏

如何比较两个表并删除SQL中的重复行?

技术问答 技术问答 237 人阅读 | 0 人回复 | 2023-09-14

我有两个表,并且如果第二个表中存在行的确切副本,则需要从第一个表中删除行。
3 J& C& _# |% C- \# j# n5 e. u/ M+ M有没有人举过我如何在MSSQL Server中执行此操作的示例?' v' Y. O3 w7 h0 I. N
               
5 k& j2 i7 L. u5 z: c: F3 I解决方案:
( w% R& H7 W1 j5 Y1 Z8 p# B  E3 h                / V' r. }6 w% t+ b) |( }
) C( h: d1 z) C1 u( D

) {4 p' J* Y0 p( e                好吧,在某个时候,您将必须检查所有列-可能还需要加入…
" G# T" \: r  ^" R4 a" ^) MDELETE a" n  n* N* }- {" v: ~
FROM a  -- first table
5 |% w* j0 M$ D8 Y3 EINNER JOIN b -- second table
4 M) e( Z% R! n, h      ON b.ID = a.ID/ J  h0 `7 e: A+ g
      AND b.Name = a.Name
/ R+ f$ Y& ?& ]- V      AND b.Foo = a.Foo# c) M3 ^- g. T1 x' r# C- g
      AND b.Bar = a.Bar
6 ]2 ?% U, e' \应该可以做到……还有CHECKSUM(*),但是这只会有所 帮助
/ q& J4 V4 k+ Z' L6 G-您仍然需要检查实际值以防止哈希冲突。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则