如何查找数据库 Teradata 中具有特定列名的所有表?
How to find all the tables in database Teradata with specific column names in them?
我有 2-3 个不同的列名,我想在整个数据库中查找它们并列出所有包含这些列的表。有什么简单的查询吗?
我看过solution for MySQL, which won't work here because TD as far as I know don't have schemes, but instead I found this。
并尝试了这段代码:
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;
我有 2-3 个不同的列名,我想在整个数据库中查找它们并列出所有包含这些列的表。有什么简单的查询吗?
我看过solution for MySQL, which won't work here because TD as far as I know don't have schemes, but instead I found this。
并尝试了这段代码:
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;