数据筛选优化问题

晟蒷 2011-12-21 09:55:22
需求如下:
A表字段结构为:ID,QQ,标记。
目前有10万条记录,现在新表B(ID,QQ) 5W条记录,若A表QQ字段一样的则不加入,有没则插入A表,并标记。原A表数据不能损坏。

如果,遍历B表,看A表是否存在,效率太低了。
如果,先删除B表重复QQ字段的数据,插入A表,删除重复的 ,则难以保证原A表数据不被破坏。
...全文
101 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
晟蒷 2011-12-21
  • 打赏
  • 举报
回复
OK。明白了,谢谢各位。
--小F-- 2011-12-21
  • 打赏
  • 举报
回复
insert into a(id,qq,标记) select id,qq,'1' from b where not exists(select 1 from a where qq=b.qq)
Hahahahahaha 2011-12-21
  • 打赏
  • 举报
回复
insert a(id,qq,标记)\
select id,qq,标记='1'
from b
where not exists (
select 1 from a
where qq = b.qq
)

不用循环
快溜 2011-12-21
  • 打赏
  • 举报
回复
修改
insert into A
select a.*,'标记' from B a left join A b on a.QQ=b.QQ
where a.QQ is null
_0筱筱0_ 2011-12-21
  • 打赏
  • 举报
回复
INSERT INTO A
SELECT ID,QQ
FROM B
WHERE NOT EXISTS(
SELECT 1 FROM A WHERE A.QQ=B.QQ
)
快溜 2011-12-21
  • 打赏
  • 举报
回复
insert into A
select a.*,'标记' from B a left join A b on a.QQ=b.QQ and a.QQ is null

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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