指定されたテーブルの列名を取得しようとしています。そこで、次のようなクエリを書きました。
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' という名前の 2 つのテーブルがありますが、スキーマが異なることです。したがって、このクエリを実行すると:
SELECT * FROM Asdim.dbo.sysobjects
WHERE name LIKE 'Admin'
テーブル名が同じなので、2 つのレコードを取得します。スキーマ名にも基づいて除外する方法はありますか?