0

我知道一个字段的名称,但我不知道该表。

 use "DatabaseName"
GO

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 '%Company%'

按模式名、表名排序;

在 Microsft Sql 中,我使用上述语法得到了结果,但在 WinSQL 中没有得到结果。

4

1 回答 1

0

这实际上取决于您要连接的数据库类型,但我怀疑无论它是什么,都会有一些相当于 SQL Server 的 INFORMATION_SCHEMA.COLUMNS。在 SQL Server 中,您只需编写:

DECLARE @col varchar(50);
SET @col = 'my_col';

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE COLUMN_NAME = @col;
于 2012-12-20T07:30:07.253 回答