2011-10-07 113 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' 

我得到兩個記錄,因爲表名是相同的。有沒有一種方法可以根據模式名稱過濾掉?

回答