Oracle 将两行合并为一个

问题描述 投票:0回答:1

我有这样的结果:

15.04.13    5   Doe, John   2431    null    null 46 560 0   null    0
15.04.13    5   Doe, John   2431    paid    525  0  0   585 null    60

这是两个查询联合的结果。

我需要的是每天每人一行。

我正在寻找的是一种将这两行组合成类似的东西的方法

15.04.13    5   Doe, John   2431    paid    525  46 560 585 null    60

好吧,假设我得到这样的结果:

15.04.13    5   Doe, John   2431    null        null 46 560 null null    0
15.04.13    5   Doe, John   2431    not paid    323  0  0   452  null    55
15.04.13    5   Doe, John   2431    paid        525  0  0   585  null    60

我需要第二行和第三行,并将匹配从第一行到下面所有行的 46 和 560。

在那种情况下,max() 的分组将不起作用。 我该如何解决这个问题?

sql oracle row union
1个回答
3
投票

这听起来像是 GROUP BY

的工作
select some_date
,      some_id
,      some_name
,      some_number
,      max(paid) paid
,      max(amount) amount
,      max(etc) etc
from   some_table
group by some_date
,      some_id
,      some_name
,      some_number
© www.soinside.com 2019 - 2024. All rights reserved.