0

名前を持つ列を含むすべてのテーブルの名前を照会したいですか?

何かご意見は?

4

4 に答える 4

3

最も簡単な方法は、を使用することINFORMATION_SCHEMA.columnsです。これはすでに次の情報を持つビューです:

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

重複を削除する場合は、 を追加しselect distinctます。

これは単一のデータベース内で機能することに注意してください。

于 2014-03-30T12:12:31.710 に答える
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;
于 2014-03-30T12:07:26.840 に答える
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
于 2014-03-30T12:07:28.880 に答える
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'
)
于 2014-03-30T12:07:12.827 に答える