2017-09-14 74 views
0

如何在oracle中实现以下功能?oracle多行合并为一个

 COL1 COL2 COL3 COL4 
ROW1 A   C       
ROW2   B   D 

期望的结果

 COL1 COL2 COL3 COL4 
ROW1 A  B  C D 
+0

提示:Group by,MAX。 – sagi

+0

如果行数更多,会发生什么?你如何决定ROW1和ROW2应该加入?如果ROW2在COL1中有一个值呢?什么...请更新你的文章,并试图准确地描述你将要实现的目标 –

+0

欢迎使用SO,请参考[tour](https://stackoverflow.com/tour)并阅读[如何提问] (https://stackoverflow.com/help/how-to-ask)。不要忘记提供一些代码([Minimal,Complete,and Verifiable example])(https://stackoverflow.com/help/mcve),并使用[提供的降价选项](https:// stackoverflow。 COM /编辑 - 帮助)。 –

回答

0

您可以简单地使用MIN()MAX()。让我们把你的表mytable和列的条目ROW1ROW2col2

select MIN(col0) col0, MAX(col1) col1, MAX(col2) col2, 
     MAX(col3) col3, MAX(col4) col4 FROM mytable; 

输出:

 COL1 COL2 COL3 COL4 

ROW1 A B C D 

:该解决方案是不是为了实现这样的输出的一般方法并取决于数据。它适用于这种特殊情况。

+0

不工作,谢谢所有 – RAHIOUI

+0

什么不工作?您的数据与您在问题中显示的内容不同。您需要相应地更改查询。 –