求一简单sql,恕小弟愚昧

gngnandgngn 2005-05-18 10:07:18
我有两张结构一样的表,
表a:
id1,id2,val1,val2

表b:
id1,id2,val1,val2

id1,id2两个一起作为表的主键。表用做后台存储,也就是每次更新时需要把表b中的数据插入a中,a中已经存在的就更新他。

我的思路是先在a中删除所有和b主键相同的记录(即需要更新的记录),然后把整张b表插入到a中
但想不出如何写这个删除的sql(因为有两个主键似乎不能用in),谢谢了
...全文
41 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gngnandgngn 2005-05-18
  • 打赏
  • 举报
回复
谢谢这位大哥
paoluo 2005-05-18
  • 打赏
  • 举报
回复

也可以Update已存在的,插入A表中不存在的
Update A Set val1=B.val1 And val2=B.val2 from A Inner Join B On A.id1=B.id1 And A.id2=B.id2
Insert A Select * from B Where Not Exists(Select * from A Where id1=B.id1 And id2=B.id2)
paoluo 2005-05-18
  • 打赏
  • 举报
回复

Delete from A Where Exists(Select * from B Where id1=A.id1 And id2=A.id2)
Insert A Select * from B

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧