从系统表中选择名称,然后从该表中选择

时间:2018-08-01 08:17:35

标签: sql postgresql amazon-web-services amazon-redshift

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

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

是否可以在单个查询中?

2 个答案:

答案 0 :(得分:0)

如果您要谈论的是“ from”之后的select子查询,我可以说您可以这样做。

您将获得以下内容:

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

不幸的是,我无法在您的数据上对其进行测试,但是我对结果非常感兴趣,因为我从未做过这样的事情。如果我提出的问题不正确,请告诉我。

答案 1 :(得分:0)

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

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