2010-12-15 2 views
0

, 내가 할 수있는 :SQL에서 결과 집합의 구조를 어떻게 설명 할 수 있습니까? 내가 MSSQL의 테이블을 설명하고 싶었

나는 결과와 같은 일을 할 수있는 방법
exec sp_columns @table_name 

을 설정? 내가

SELECT DISTINCT 
t3.ID, 
t4.ID 
FROM 
t2 INNER JOIN 
t3 on t3.ID = t2.t3ID INNER JOIN 
t4 on t4.ID = t3.t4ID 

같은 것을 가지고 내 결과 세트에 대한 설명을 얻기 위해

exec sp_columns @table_name = (SELECT DISTINCT 
t3.ID, 
t4.ID 
FROM 
t2 INNER JOIN 
t3 on t3.ID = t2.t3ID INNER JOIN 
t4 on t4.ID = t3.t4ID 
) 

같은 것을 실행하고 싶었다 말한다.

+0

왜 당신이 그렇게 할 것입니다 :

여기 개념의 증거인가? –

+0

궁극적으로 쿼리가 임시 테이블에 들어가기 때문에 수동으로 임시 테이블을 생성 할 수 있습니다. 여기에 제시 한 예제 표보다 훨씬 복잡합니다. 다른 기술이 있다면, 나는 모두 눈입니다. – Matt

답변

2

adhoc 결과 집합에 대해 sp_columns 기능을 원한다는 소리가납니다.

마치이 결과 집합에서 임시 테이블을 만드는 것처럼 들립니다. 대신 SELECT INTO을 사용해보십시오. 당신은 그 구조를 알지 못할 것입니다.

SELECT * INTO ##newtable 
FROM (SELECT DISTINCT 
      t3.ID, 
      t4.ID 
     FROM 
     t2 INNER JOIN 
     t3 on t3.ID = t2.t3ID INNER JOIN 
     t4 on t4.ID = t3.t4ID 
    ) as b 

SELECT * FROM ##newtable 
+0

'SELECT ... INTO' 문 앞에 테이블 (temp 또는 기타)이 존재할 수 없다는 경고 만 있습니다. –

+0

@OMG : 정확함, 설명 주셔서 감사합니다! –

관련 문제