2017-09-24 148 views
1

我目前的查询涉及到连接多个表,我正在使用完全外部联接。但是,我的查询导致了多个相同名称的列。我如何将结果合并到一个列中?外部联接合并列

下面是我的查询

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 

提前感谢列!

enter image description here 编辑:基本上,我只是想在一列

+0

你能分享一些样本数据和你试图实现的结果吗? – Mureinik

+1

你想如何结合这两个colums?例如,假设查询从左侧表格中将“黑巧克力”作为巧克力色列的值,而将“白巧克力”作为右侧表格中的值。在这种情况下,什么应该是一个综合价值? – krokodilko

+0

@krokodilko他们应该导致分享同一列的单独的行,想知道是否有可能 – Jackelll

回答

1

根据附件截图,好像两列中只有一列可以有值,而另一列始终为null。如果这是真的,你可以将​​3210结果合并到一个列中:

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 
0

CONCAT功能似乎能够达到我想要的inp_pages和art_pages结合起来,任何人都可以帮助验证我的解决方案?