2008-08-26 19 views
3

Geniş bir veritabanım var ve belirli bir sütun adına sahip tablo adlarını seçmek istiyorum. MySQL'de böyle bir şey yaptım, ancak SQL Server'da herhangi bir bilgi bulamıyorum.SQL Server'da select deyimi için tablo meta verilerini kullanın?

select [table] 
from [db] 
where table [has column 'classtypeid'] 

nasıl böyle bir şey yapabilirim:

ben böyle bir şey yapmak ister misin?

cevap

5

Kullanım ANSI information_schema görünümleri, bu da MySQL

çalışacak İşte
select table_name 
from information_schema.columns 
where column_name = 'classtypeid' 
2

gitmek:

SELECT C.TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS AS C 
    INNER JOIN INFORMATION_SCHEMA.TABLES AS T ON C.TABLE_NAME = T.TABLE_NAME 
    AND C.TABLE_SCHEMA = T.TABLE_SCHEMA 
WHERE C.COLUMN_NAME = 'classtypeid' 
    AND T.TABLE_TYPE = 'BASE TABLE' 

Düzenleme: Bu dayanan Liste görünümlerine unutmayın Bu sütuna sahip herhangi bir tablo. Sadece INFORMATION_SCHEMA.COLUMNS'ı sorgulamanız durumunda, geri görünümleri de alacaksınız.

İlgili konular