2014-11-05 56 views
0

我已經從程序中提取了一些自動生成的TSQL,並且在查詢的FROM部分中有一百萬個(稍微誇張的)JOINS到各種表。從TSQL中提取表名查詢

許多重複但具有不同的別名,例如, table1,table1_1,table1_2等等 有沒有一種方法或工具,只會列出我在聚合級別的表名,所以我可以確切地看到哪些表正在使用? 例如在上面的例子中,我只想看到table1列出。

+0

怎麼樣查詢編輯器Ctrl + Shift + Q? – 2014-11-05 13:13:05

+1

如果你可以提取別名,爲什麼你不能提取表名?他們將永遠在別名之前。 – 2014-11-05 13:18:51

+1

哇@MitchWheat我猜你的父母曾經給你帶來任何禮節。我認爲這是一個友好的論壇,但考慮到你對我的問題的迴應,你顯然不願意侮辱他人。正如我的用戶名所示,我是SQL新手,所以我認爲如果我的知識不像你的上帝那樣與地位一致。 – 2014-11-05 13:31:02

回答

2

使用sp_describe_first_result_set和t @ browse_information_mode = 1來返回如下例所示的查詢元數據。要獲取彙總信息,請將這些結果插入臨時表或表變量並進行查詢以獲取所需的信息。聯機叢書(http://msdn.microsoft.com/en-us/library/ff878602.aspx)中描述了結果表模式。

EXEC sp_describe_first_result_set 
    @tsql = N' 
     SELECT t1.column_1, c.name 
     FROM dbo.table_1 AS t1 
     JOIN dbo.table_2 AS t2 ON 
      t2.column_1 = t1.column_1' 
    ,@params = NULL 
    ,@browse_information_mode = 1; 
+0

謝謝丹,我會給你一個去看看我如何繼續。 – 2014-11-05 14:04:54