从系统表中选择名称并从此表中选择

Posted

技术标签:

【中文标题】从系统表中选择名称并从此表中选择【英文标题】:Select name from system table and select from this table 【发布时间】:2018-08-01 08:17:35 【问题描述】:

我需要从系统表中动态获取表名,并对该表示例执行选择查询:

SELECT "schema"+'.'+"table" FROM SVV_TABLE_INFO WHERE "table" LIKE '%blabla%'

它返回my_schema.the_main_blabla_table

得到这个表名后,我需要执行:

SELECT * FROM my_schema.the_main_blabla_table LIMIT 100

是否可以在单个查询中进行?

【问题讨论】:

不是查询。除非你查询你准备的函数 【参考方案1】:

如果您在“from”之后谈论选择子查询,我可以说您可以这样做。

你会得到这样的东西:

SELECT * FROM 
( 
  SELECT "schema"+'.'+"table" FROM  SVV_TABLE_INFO WHERE "table" LIKE '%blabla%'
)
LIMIT 100

不幸的是,我无法在你的数据上测试它,但我对结果非常感兴趣,因为我从来没有做过这样的事情。如果我的问题不正确,请告诉我。

【讨论】:

感谢您的尝试,但您的代码 sn-p 以另一种方式工作。嵌套查询返回一个数据集,外部选择尝试过滤此数据集,但不对返回的表名执行查询。而返回的结果正是内部选择返回的结果,只有100多行才会影响它:)【参考方案2】:

Amazon Redshift 不支持获取查询的输出并将其用作另一个查询的一部分。

您的应用程序将需要查询 Redshift 以获取相关的表名,然后再次调用 Redshift 以查询该表。

【讨论】:

以上是关于从系统表中选择名称并从此表中选择的主要内容,如果未能解决你的问题,请参考以下文章

从数据库系统表中选择所有索引,根据Oracle中的索引聚合数据

使用Mysql从不同名称的不同表中选择值作为贷方和借方并计算余额

如何从一个表中选择不在其他表中的所有行?

MySQL - 从多个表中选择并显示多个字段

使用 PostgreSQL 从许多表中选择并合并相同的属性

如何在通过变量搜索时从一个表中选择 user_ID 并插入到另一个表中? Python 我的 SQL