2014-03-30 32 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

请注意,这可以在单个数据库中工作。

相关问题