2013-05-14 100 views
2

我有一個結果是這樣的:甲骨文合併兩行成一個

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()組將不起作用。 我該如何解決這個問題?

+1

你將需要更大量細節添加到這個問題。列標題將是一個好的開始。另外,合併數據的業務規則是什麼?例如,具有560和0的列導致560,是SUM還是MAX?如果您需要知道所有需要的業務規則,這裏的任何人都將很難幫助您。 – 2013-05-14 14:54:40

回答

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 
+1

是的,我猜這就是它的卑鄙。我已經嘗試了這一點,但forgott一些列。所以結果並不是我正在尋找的。 – ZSchneidi 2013-05-14 15:28:49