2017-04-12 112 views
0

我有以下查詢SQL查詢多個數據庫

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

這給了我我想要的結果,但在我的連接每個數據庫我得到一個單獨的輸出。有沒有辦法將所有數據庫的所有這些輸出放到一個表中。很抱歉,如果我不問正確的排序新來這...

回答

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