【问题标题】:Outer Join merge column外连接合并列
【发布时间】:2018-03-05 10:20:27
【问题描述】:

我当前的查询涉及连接多个表,我正在使用完全外连接。但是,我的查询产生了多个同名的列。如何将结果合并为一列?

以下是我的查询示例

 Select table1.a,table1.b AS "chocolate",table2.b AS "chocolate"
 from table1
 full outer join table2 ON table1.c = table2.c
 WHERE table1.a > 100

但是该列将导致

a,chocolate,chocolate

提前致谢!

编辑:基本上我只是想将 inp_pages 和 art_pages 组合在一个列中

【问题讨论】:

  • 你能分享一些示例数据和你想要达到的结果吗?
  • 你想如何组合这两个列?例如,假设查询将dark chocolate 作为左表中巧克力列的值,将white chocolate 作为右表中的值。在这种情况下应该是什么组合值?
  • @krokodilko 他们应该导致不同的行共享同一列,想知道是否可能

标签: sql postgresql select join outer-join


【解决方案1】:

CONCAT 功能似乎可以实现我想要的,谁能帮忙验证一下我的解决方案?

【讨论】:

    【解决方案2】:

    根据随附的屏幕截图,似乎两列中只有一列可以有值,而另一列始终为null。如果这是真的,您可以coalesce 将结果放在一个列中:

    SELECT          table1.a, COALESCE(table1.b, table2.b) AS "chocolate"
    FROM            table1
    FULL OUTER JOIN table2 ON table1.c = table2.c
    WHERE           table1.a > 100
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多