查找所有具有 X 列名称的表

Ang*_*gie 5 sql sql-server

有没有办法找到 Y 数据库中具有 X 列名称的所有表?

所以

如果 X.Column 存在于 Y.Database 中则打印带有 x.column 的 all.tables

谢谢

Gor*_*off 8

大多数(但不是全部)数据库都支持这些information_schema表。如果是这样,您可以这样做:

select table_name
from information_schema.columns t
where column_name = YOURCOLUMNNAME;
Run Code Online (Sandbox Code Playgroud)

如果您的数据库不支持视图information_schema,那么任何合理的数据库都有获取此信息的替代方法。

您可能需要指定数据库名称,但这取决于数据库。它可能是:

select table_name
from YOURDATABASENAME.information_schema.columns t
where column_name = YOURCOLUMNNAME;
Run Code Online (Sandbox Code Playgroud)

或者

select table_name
from YOURDATABASENAME.information_schema.columns t
where column_name = YOURCOLUMNNAME and schema_name = YOURDATABASENAME;
Run Code Online (Sandbox Code Playgroud)