SQL查询自动化,仅按表名更改分组?

时间:2016-10-20 17:47:52

标签: sql-server-2012 automation

我有一个表格列表,我希望以相同的方式进行汇总,保存表格名称会发生​​变化,有人可以指出我正确的工具吗?

示例:

从table1中选择strm,snapshot,count(*),其中strm in('2167','2157')按strm分组,快照顺序按strm,快照

从table2中选择strm,snapshot,count(*),其中strm in('2167','2157')按strm分组,快照按strm分组,快照

从table3中选择strm,snapshot,count(*),其中strm in('2167','2157')按strm分组,快照顺序按strm,快照

我通过这种方法得到了我想要的结果,但是对于40-60个表一个接一个地看起来很麻烦...我使用SQL MS 2016如果这给我的选项提供任何帮助。 TIA 8)

2 个答案:

答案 0 :(得分:0)

以下内容将搜索目录中包含arraystrm列的所有表格,并动态构建您的查询。

snapshot

答案 1 :(得分:0)

声明@TSQL nvarchar(max)=(从[dbo]中选择不同的'选择strm,snapshot,count(*)为' + T0.TABLE_NAME +'。[&#39 ; + TABLE_NAME +']按strm分组,快照按strm,快照'分组 来自INFORMATION_SCHEMA.TABLES T0 where exists(从INFORMATION_SCHEMA.COLUMNS C1中选择1,其中C1.COLUMN_NAME =' strm'和T0.TABLE_SCHEMA = C1.TABLE_SCHEMA和T0.TABLE_NAME = C1.TABLE_NAME) 和存在(从INFORMATION_SCHEMA.COLUMNS C2中选择1,其中C2.COLUMN_NAME ='快照'和T0.TABLE_SCHEMA = C2.TABLE_SCHEMA和T0.TABLE_NAME = C2.TABLE_NAME) 对于XML PATH(''))

exec sp_EXECUTESQL @TSQL

- 谢谢Anderson先生这是一个很大的帮助,我想我需要研究TSQL。