多个表向一张表导入数据的问题1

如果想从多个表中的多个字段导入到一张表中,而且这多个表的数据量还很大,导入过去数据后还需要一些组合操作,具体应该怎么做,求大神帮助!

8个回答

sql上insert into select 这样的语法就能实现。几点建议给到你:
1. 多表之间知否存在关联关系(我想应该是有必然的业务关联,否则导一张表没什么意义),找到关联关系后按照需求查询出需要字段
2. 数据量大的排序后分批处理

一点疑问: 导入后的数据组合操作指的是什么?导入后接下来还需要做什么?

weixin_39676326
火吻_ 而且还要,向一张表里面添加需要id什么的是对应的
接近 2 年之前 回复
weixin_39676326
火吻_ 之后还要对这些数据做一些规划,比如说多个表的多个字段往一张表的一个字段中插入然后中间用ASCII码的分隔符分隔开,应该如何做啊?需要些存储过程吗?
接近 2 年之前 回复

大体思路如下。
1、首先写select查询语句把多个表的数据,按照组合方式,先查询出来。
2、在select外层套一个insert语句,直接插入即可。

weixin_39676326
火吻_ 需要id之类的字段是必须对应添加的,而且数据量很大,怎么办
接近 2 年之前 回复

楼上的方法是可行的,但是若一个SQL搞不定的话,可以考虑使用临时表+存储过程实现,这个执行效率比较高。
1,开存储过程,
2,使用临时表;
3,然后用Insert +SELECT 嵌套实现数据导入。

weixin_39676326
火吻_ 之后还要对这些数据做一些规划,比如说多个表的多个字段往一张表的一个字段中插入然后中间用ASCII码的分隔符分隔开,而且数据量很大怎么办?
接近 2 年之前 回复

数据很大是有多大,能说一下吗
类似于:

insert into C(id,NewColumn) select NEWID,A.NewColumn+','+B.NewColumn from A left jion B on A.xxx=B.xxx

weixin_39676326
火吻_ 几百万条吧
接近 2 年之前 回复

insert into C(id,NewColumn) select NEWID,A.NewColumn+','+B.NewColumn from A left jion B on A.xxx=B.xxx

这个比较麻烦,建议你下个ETL工具可以办到

insert into C(id,NewColumn) select NEWID,A.NewColumn+','+B.NewColumn from A left jion B on A.xxx=B.xxx

这个比较麻烦,建议你下个ETL工具可以办到

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!