2014-11-05 4 views
0

프로그램에서 자동 생성 된 TSQL을 추출했으며 쿼리의 FROM 섹션에 다양한 테이블에 백만 개 (약간 과장 됨) JOINS가 있습니다.TSQL 쿼리에서 테이블 이름 추출

로트는 반복이지만 별명이 다릅니다. table1, table1_1, table1_2 등 정확히 어떤 테이블이 사용되고 있는지 알 수 있도록 집계 된 레벨에 테이블 이름을 나열하는 방법이나 도구가 있습니까? 예 : 위의 예에서 나는 단지 table1을 나열하고 싶습니다.

+0

쿼리 편집기 Ctrl + Shift + Q는 무엇입니까? –

+1

별칭을 추출 할 수 있다면 왜 테이블 이름을 추출 할 수 없습니까? 그들은 항상 별칭 바로 앞에있을 것입니다. –

+1

Wow @MitchWheat 네 부모님이 너를 예의 범절없이 데려왔을거야. 나는 이것이 친숙한 포럼이라고 생각했지만 내 질문에 대한 당신의 반응을 고려해 볼 때, 당신은 분명히 다른 사람들을 모욕하는 길을 벗어납니다. 내 사용자 이름에서 알 수 있듯이, 나는 SQL에 익숙하지 않기 때문에 지식이 신의 지위와 같이 거기에 없다면 나는 사과한다. –

답변

2

아래 예제와 같이 쿼리 메타 데이터를 반환하려면 t @ browse_information_mode = 1로 sp_describe_first_result_set을 사용하십시오. 집계 된 정보를 얻으려면 이러한 결과를 임시 테이블이나 테이블 변수에 삽입하고 쿼리를 수행하여 필요한 정보를 얻으십시오. 결과 테이블 스키마는 온라인 설명서 (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

Dan, 고맙다. 나는 어떻게 지내는지 보자. –