2013-03-21 47 views
0

我有數據庫設計這樣的選擇查詢...在Oracle

dated  ref  weight no. address 

21-03-2013 ABCD/EDFG  1234 A45 A1 
20-03-2013 ABCD/EDFG  789 A56 A2 
25-03-2013 ABCD/EDFG  6981 A99 A5 
23-03-2013 GAJHS/ASDH  72 A82 GV 

我想在這裏的查詢結果是什麼這樣的事情....
沒有的基礎上搜索。
但隨後,它必須看到,如果該行的裁判存在更多的時間,如果那麼它存在,它具有增加牢記所有這樣的行日期爲所有這些記錄的重量應小於日期選擇沒有。

例如 -

no. = A56 
three rows exist with same ref(ABCD/EDFG) 
but dated of A56 is lower among all so results should be 

    ref ------ weight -------- no. -------- address 
ABCD/EDFG ------ 789 ----------- A56 -------- A2 

但在沒有的情況。 = A99的結果應該是這樣的 -

ref ----------- weight -------- no. -------- address 
ABCD/EDFG --- (789+6981+1234) ----------- A99 -------- A5 

as dated of A99 is greater than other two records. 

請幫我看看這個查詢。

+0

那麼,你可以使用嵌套查詢來做到這一點。你試過什麼了? – 2013-03-21 07:38:05

+0

這是我已經嘗試過,但這似乎並不好.... 從dpy_weighment_delivery_dtls選擇總和(nett_weight)其中order_ref =(從dpy_weighment_delivery_dtls選擇order_ref,其中gate_pass_no ='J9272')和weighed_date ...... – AbraKaDabra 2013-03-21 07:44:19

回答

1
select 
    ref, 
    sum(weight) over (partition by ref order by dated) as weight, 
    no, 
    address 
from 
    ... 
+0

感謝egmor,它確實有效.... – AbraKaDabra 2013-03-21 09:43:43