2011-10-07 8 views
1

주어진 테이블에 대한 열 이름을 가져 오려고합니다. 그래서 다음과 같은 쿼리를 작성했습니다 :테이블에서 열 이름 가져 오기

SELECT sc.Name 
    FROM  Asdim.dbo.sysobjects so 
      INNER JOIN Asdim.dbo.syscolumns sc ON so.id = sc.id 
      INNER JOIN Asdim.dbo.systypes st ON sc.xtype = st.xusertype 
    WHERE so.Name = 'Admin' 

문제는 내가 'Admin'이라는 이름의 테이블이 두 개 있지만 스키마가 서로 다른 것입니다. 그래서이 쿼리를 실행할 때 :

SELECT * FROM Asdim.dbo.sysobjects 
WHERE name LIKE 'Admin' 

테이블 이름이 같기 때문에 두 레코드를 얻습니다. 스키마 이름을 기반으로 필터를 제거 할 수있는 방법이 있습니까?

답변

관련 문제