[MS SQL] Найти все таблицы содержащие колонку

Проводя анализ базы данных возникает потребность найти все столбы с определенным именем. Это может потребоваться для поиска связанных между собой таблиц. Например нам необходимо найти все таблицы в базе данных, которые имею в своём составе столбец с именем «ID_Channel».

Для это воспользуемся следующим скриптом.

Поиск всех таблиц по имени столбца.

SELECT 
  t1.table_name
FROM INFORMATION_SCHEMA.COLUMNS AS t1
WHERE
  t1.COLUMN_NAME LIKE 'ID_Channel'
ORDER BY
  t1.table_name

Поиск всех таблиц содержащих два столбца.

SELECT 
  t1.table_name, t2.table_name 
 
FROM INFORMATION_SCHEMA.COLUMNS AS t1 
 
  LEFT JOIN INFORMATION_SCHEMA.COLUMNS AS t2 
  ON  t1.table_name =  t2.table_name 
 
WHERE t1.COLUMN_NAME LIKE 'ID_Channel'  
  AND t2.COLUMN_NAME LIKE 'ID_M' 
 
ORDER BY 
  t1.table_name