关于数据迁移sql,求分析解答
最近上级给了个数据迁移任务下来,迁移共5个表,每个表都有关联,查询sql语句已经写好了,大概是这样的,查找A表数据into临时表1,查找临时表1数据筛选后into临时表2,查找临时表2数据筛选后into临时表3......一种层级的像子查询的查询方式,经过N次查询后,最后5个临时表都是我需要用到的,我想查到这5个临时表的记录条数。这是第1种情况的查询方法,共有3种情况。我需要汇总,5个表在这3种情况中各自的数据总和,例如情况1的临时表10和情况2的临时表6是同一个表的,因此要汇总其记录数,5个表的汇总数作为前台显示正在迁移哪个表,多少条显示。
还有更麻烦的是迁移时的insert语句,因此需要找到where条件,虽然说前面查找语句已经找到需要迁移的记录,但那只是临时表,而现在的系统每操作一次数据库就关闭连接,所以临时表肯定没了。但我不想把如此庞大的查询语句直接当作是where条件,所以希望有更好的办法。
我目前只想到把临时表换成嵌套形式,不过这样就会嵌套很多个表在子查询,可能会影响效率,然后把三种情况的表整合成一个表,这样就有5个汇总表,即可以作为查找记录数的表,也可以作为条件的表。 SQL 数据迁移
[解决办法]
查找A表数据into临时表1,查找临时表1数据筛选后into临时表2,查找临时表2数据筛选后into临时表3.
既然经过一次查询后,再次筛选可以进入临时表2,为什么不可以一次筛选直接进入临时表2 ?
根据你提供的信息,临时表5都可以一次性筛选数据.
这样你做数据迁移时就只需要移动原表就行了
[解决办法]