2014-03-30 31 views

回答

0

您可以使用系統視圖下使用該查詢來獲取表的架構和名稱:

select QUOTENAME(s.name) + N'.' + QUOTENAME(t.name) from sys.tables t 
inner join sys.schemas s on t.schema_id = s.schema_id 
where exists (
    select * from sys.columns c 
    where c.object_id = t.object_id and c.name = N'id' 
) 
2

使用系統視圖

SELECT t.name AS table_name, 
SCHEMA_NAME(schema_id) AS schema_name, 
c.name AS column_name 
FROM sys.tables AS t 
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID 
WHERE c.name LIKE '%EmployeeID%' 
ORDER BY schema_name, table_name; 
+1

這些是視圖,而不是表格。 – Szymon

+1

您應該避免使用在此處閱讀的信息模式視圖why ['對於INFORMATION_SCHEMA視圖的情況](http://sqlblog.com/blogs/aaron_bertrand/archive/2011/11/03/the-case-against-information-schema -views.aspx) –

0
SELECT c.name AS ColName 
    , t.name AS TableName 
FROM sys.columns c INNER JOIN sys.tables t 
ON c.[object_id] = t.[object_id] 
WHERE c.name LIKE '%ColumnName%' --<-- Column name you are looking for 
3

最簡單的方法是用INFORMATION_SCHEMA.columns。這已經是具有此信息的視圖:

select schema_name, table_name 
from information_schema.columns 
where column_name like '%name%'; 

如果你想刪除重複,添加select distinct

請注意,這可以在單個數據庫中工作。

相關問題