0

私はこのようなデータベース設計をしています...

   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
に基づいて検索します。 ただし、その行の参照が複数回存在するかどうかを確認する必要があり、存在する場合は、そのようなすべてのレコードの日付が選択された番号の日付よりも小さいことを念頭に置いて、そのようなすべての行の重みを追加する必要があります。.

例 -

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.

このクエリで私を助けてください。

4

1 に答える 1

1
select 
   ref, 
   sum(weight) over (partition by ref order by dated) as weight,
   no,
   address
from
   ...
于 2013-03-21T07:42:08.140 に答える