有两张表 表2为表1的ID的关系
比如:表2的数据为 col1 col2
1111 2222
表示2222是1111的扩展名
现在用SQL语句来实现 如果表一的ID为1111 则ID不变如果为2222 则改为1111
由于数据量很大 所以不能分开查然后在UNION在一起 谢谢大家啊
比如:表2的数据为 col1 col2
1111 2222
表示2222是1111的扩展名
现在用SQL语句来实现 如果表一的ID为1111 则ID不变如果为2222 则改为1111
由于数据量很大 所以不能分开查然后在UNION在一起 谢谢大家啊
现在有两张表:表1,表2
表1的结构为:ID COLLECT ...
数据为 1111 zzzz ...
2222 dddd ...
1111 xxxx ...表2的数据为 ID1 ID2
1111 2222
1111 3333表2的数据的意思是:2222是1111的扩展名 3333是1111的扩展名
现在要用SQL根据表2的关系把表1的数据改为
ID COLLECT ...
1111 zzzz ...
1111 dddd ...
1111 xxxx ...
我现在的办法是 select b.ID1,a.COLLECT from 表1 a,表2 where a.ID=b.ID2
union all
select ID,COLLECT from 表1 where ID not in (select ID2 from 表2)
但是因为表的数据量很大(千万级) 所以效率太低 想请教以下有没有更好的办法?谢谢!!!
from 表1 a,表2 b
where a.id = b.id2(+);
update a set id=(select id2 from b where id2=a.id);
--commit;
--查询结果
select * from a;