具有多个数据库的SQL查询

时间:2017-04-12 19:56:11

标签: tsql

我有以下查询

 EXECUTE sp_MSForEachDB
'USE ?; 
Select DB_NAME()AS DBName, count(DISTINCT TABLE.COLUMN) as "NEW_NAME"
  FROM [dbo].[TABLE]'

这给了我想要的结果但是对于我连接中的每个数据库,我得到一个单独的输出。有没有办法将所有数据库中的所有输出放入一个表中。对不起如果我没有正确地问这个新的......

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这应该有效:

CREATE TABLE #Temp (DBName VARCHAR(250), NEW_NAME INT)

INSERT INTO #Temp 
EXECUTE sp_MSForEachDB
'USE ?; 
Select DB_NAME()AS DBName, count(DISTINCT TABLE.COLUMN) as "NEW_NAME"
  FROM [dbo].[TABLE]'


SELECT * FROM #Temp

下面是一个如何工作的例子。我修改了查询,以便它可以在我的机器上运行,因为我没有表[dbo]。[TABLE]在我的数据库中:

enter image description here