外连接合并列
Posted
技术标签:
【中文标题】外连接合并列【英文标题】: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 他们应该导致不同的行共享同一列,想知道是否可能
【参考方案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
【讨论】:
以上是关于外连接合并列的主要内容,如果未能解决你的问题,请参考以下文章