【问题标题】:Combining 2 views into one in PostgreSQL在 PostgreSQL 中将 2 个视图合并为一个
【发布时间】:2012-02-01 19:16:48
【问题描述】:

我需要做一些完全疯狂的事情。我有 2 个视图具有相同数量的列(不同的列名,但 ID 列除外)并且它们都恰好有 2 个现有的 UNION 查询。据我了解,UNIONUNION ALL 仅在组合 2 个 SELECT 查询时有效,这里我尝试组合其中的 4 个!也就是 2 个视图。

【问题讨论】:

    标签: sql postgresql views union


    【解决方案1】:

    “据我了解,UNION 和 UNION ALL 仅在组合 2 个 SELECT 查询时有效”

    Ummmm...no。您可以执行以下操作:

    select col1,col2
    from table
    union all
    select col1,col2
    from some_other_table
    union all
    select col1,col2
    from yet_another_table;
    

    等等等等

    【讨论】:

    • 好的,但我不是在查询表,我在查询视图如果我从视图中查询,它会工作吗?
    • @user1183513 - 是的。根据the documentation,“Set 操作也可以嵌套和链接 [on queries]”。
    • @user1183513:视图只是 PostgreSQL 中的一个特殊表。您可以在 SELECT 语句中可以使用表的任何地方使用它。 (与 INSERT / UPDATE / DELETE 不同。)
    • 执行 SELECT * FROM Table1 UNION ALL SELECT * FROM Table2;让我出错:关系“table1”不存在
    • @user1183513 - 那么该表不存在。创造它。您的select 声明中也没有提到“fsview_table1”...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多