Вопрос: Найти имена таблиц с именем столбца? [Дубликат]


На этот вопрос уже есть ответ:

Как получить все имена таблиц, где указано имя столбца? Мне нужны имена с «Like» в sql-сервере. Например :-

  select TableNames where columnname like '%MyColumn%'

пожалуйста, помогите мне


46


источник


Ответы:


Попробуйте выполнить приведенный ниже запрос. Используйте sys.columns для получения информации: -

SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
    JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyCol%';

92



Вы можете сделать это:

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 '%MyColumn%'
ORDER BY schema_name, table_name;

Справка:


13



Попробуйте вот так: Для SQL SERVER 2008+

SELECT c.name AS ColName, t.name AS TableName
FROM sys.columns c
    JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyColumnaName%'

Или

SELECT COLUMN_NAME, TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME LIKE '%MyName%'

Или Что-то вроде этого:

SELECT name  
FROM sys.tables 
WHERE OBJECT_ID IN ( SELECT id 
              FROM syscolumns 
              WHERE name like '%COlName%' )

8