Sql 如何在数据库Teradata中找到包含特定列名的所有表?
我想在整个数据库中查找2-3个不同的列名,并列出所有包含这些列的表。有简单的问题吗 我看到了,这在这里不起作用,因为据我所知,TD没有计划,但我发现了 并尝试了以下代码:Sql 如何在数据库Teradata中找到包含特定列名的所有表?,sql,database,teradata,Sql,Database,Teradata,我想在整个数据库中查找2-3个不同的列名,并列出所有包含这些列的表。有简单的问题吗 我看到了,这在这里不起作用,因为据我所知,TD没有计划,但我发现了 并尝试了以下代码: SELECT TableName FROM DBC.COLUMNS WHERE DatabaseName = 'DB_NAME' and ColumnName in ('col1', 'col2') 但肯定必须使用子查询来获取TableName,因为DBC.COLUMNS没有该字段。还有其他想法吗?您正在寻找: SELECT
SELECT TableName
FROM DBC.COLUMNS
WHERE DatabaseName = 'DB_NAME' and
ColumnName in ('col1', 'col2')
但肯定必须使用子查询来获取TableName,因为DBC.COLUMNS没有该字段。还有其他想法吗?您正在寻找:
SELECT tablename
FROM dbc.columnsV
WHERE ColumnName in ('col1', 'col2')
此查询适用于我:
SELECT DatabaseName,
TableName,
CreateTimeStamp,
LastAlterTimeStamp
FROM DBC.TablesV
WHERE TableKind = 'T'
and DatabaseName = 'YOUR_SCHEMA'
ORDER BY TableName;
DBC.Columns
似乎就是您要找的:我更新了我的问题,我的主管说子查询必须是used@Rocketq . . . 当然,tablename
在表中。被告知使用子查询会适得其反。你说得对,它在表中,我选中了show select*from DBC.Columns
请将视图更改为DBC.ColumnsV,DBC。Columns是旧的旧版本,自TD12以来已弃用。从TD14.10开始,如果使用的对象名称超过30个字符,则可能返回错误的结果…@dnoeth。非常感谢。