我们有一个可怕的设计数据库,其中有一些程序,每周都会生成新表格,并且已经这样做了几年。它有一个SQL脚本,通过对各种表格的查询获取200列以上的数据,将其全部转储到一个名为Selections的表中,然后在完成后,您必须每周手动重命名该表(Selections_Week001,Selections_Week002等)。现在我们有大约100多张桌子。我想要做的就是把所有的数据放到一张表中,列中有一列指明其原始源表(001,002等),这样我就可以摆脱所有这些单独的表。有没有办法使用一些SQL脚本来做到这一点,或者我将不得不手动编辑并运行100个附加查询?将表格组合成一个
Q
将表格组合成一个
0
A
回答
1
试试这个对我来说,测试数据运行良好:
select *
into Selections_Total
from Selections_Week001
where 1=0
alter table Selections_Total
add Original_Table varchar(64)
--select * From Selections_Total
declare @sql varchar(max)
select @sql = COALESCE(@sql + ' UNION ALL select *, ''' + name + ''' from ', 'select *, ''' + name + ''' from ') + name
from sys.tables where name like 'Selections_Week%'
--select @sql
insert into Selections_Total
exec(@sql)
UPD:起初错过with a column indicating its original source table
。现在修复。
相关问题
- 1. 将表格行组合成一行(Set?)
- 2. 将两个脚本组合成一个Google表格
- 3. 将表格与TSQL组合成一张表格
- 4. 如何将单元格组合成一个乳胶表格中的一行?
- 5. Python-将两个列表组合成一个列表列表
- 6. 将php数组组合成一个
- 7. 将两个数组组合成一个哈希表
- 8. 将3个表合并成一个表
- 9. 将表格行中的单选按钮组合成一个收音组
- 10. 将两个脚本组合成一个
- 11. 将两个图组合成一个
- 12. 将两个图组合成一个图
- 13. 将三个词组合成一个?
- 14. PHPexcel:将两个变量组合成一个单元格
- 15. 将数值组合成融合格式
- 16. 拿一个数组并将它组合成另一个数组
- 17. 将两个或多个表组合成一个对象
- 18. 将两个列表组合成csv
- 19. 将两个不同大小的列表组合成一个组合
- 20. 将多个表格组合成自定义视图模型
- 21. 将两个表合并成一张表
- 22. 将两个csv行组合成一行
- 23. 将多行组合成一个MySQL
- 24. SQL将行组合成一个
- 25. 将多行组合成一个查询
- 26. 将mousenter/mouseleave组合成一个函数
- 27. 将CSS行组合成一个
- 28. 将一个按钮组合成图像
- 29. 将不同的单元格数组合成一个在MATLAB中
- 30. Excel将单元格内容组合成一个html代码?
你可以在一个查询中将它们全部结合在一起,并执行一次插入,但是如果你有大量数据正在进行,那么这将成为一个杀手。我会创建一个脚本,每次都可以创建一个表格(您可以轻松地在Excel中创建大量脚本)。我更喜欢通过一次性的方法来控制这个问题 –
我的观点:我会考虑使用一些脚本语言来实现这一点,因为动态sql是不必要的繁琐。 – AndreasT
我只是希望写一些能动态获取每个表名并自动为所有表添加附加内容,而不必重写它100次 –