Вы можете self-join
системное представление information_schema.columns
:
select
ta.column_name,
ta.table_name,
tb.table_name,
from information_schema.columns ta
inner join information_schema.columns tb
on ta.column_name = tb.column_name
and ta.table_name != tb.table_name
order by
ta.column_name,
ta.table_name,
tb.table_name
Это даст вам все столбцы, которые используются в нескольких таблицах, с соответствующими именами таблиц.
Если вам нужны только имена таблиц, то:
select ta.table_name, tb.table_name
from information_schema.columns ta
inner join information_schema.columns tb
on ta.column_name = tb.column_name
and ta.table_name != tb.table_name
group by ta.table_name, tb.table_name
order by ta.table_name, tb.table_name
Примечание. Возможно, вы захотите добавить фильтр на table_schema
, чтобы ограничить запрос схемами, используемыми в вашем приложении.