关于merge into 合并重复数据的问题!

man75342 2016-01-21 03:49:44
例如merge into 语句 using里面select查询回来的数据如下表:

id userid name status
1 1 a 1
2 2 b 2
3 1 a 3

on 里面是(userid=# and name=#)
因为第1条记录和第3条记录重复
当insert into 的时候 如何只插入重复记录中id比较大的重复记录,就是插入第3条记录,
merge into 貌似不能筛选using 结果集记录里面的重复数据
请教大神指点,谢谢!
...全文
1814 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
man75342 2016-01-28
  • 打赏
  • 举报
回复
引用 3 楼 wildwave 的回复:
在using ()里面将重复的部分去掉,例如 using (select * from xxx t where not exists(select 1 from xxx x where t.userid=x.userid and t.name=x.name)
嗯,貌似这能这样操作了,如果oracle再优化一下这个语句,就很强大了!
小灰狼W 2016-01-22
  • 打赏
  • 举报
回复
在using ()里面将重复的部分去掉,例如 using (select * from xxx t where not exists(select 1 from xxx x where t.userid=x.userid and t.name=x.name)
man75342 2016-01-21
  • 打赏
  • 举报
回复
可以是可以,不过比较繁琐啊。,不知道有没有在merge上面有没有什么过滤功能的
ORAClE SE 2016-01-21
  • 打赏
  • 举报
回复
不能在into前把数据过滤好吗

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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