2017-03-16 12 views
1

私はpeoplesoftに取り組んでいます。いくつかのIDに基づいて順序付けられた列の値を更新する必要があるという要件があります。 たとえば、パーティション上のRow_number()

CA24100001648- 1 
CA24100001648- 2 
CA24100001664- 1 
CA24100001664- 2 
CA24100001664- 3 
CA24100001664- 4 
CA24100001664- 5 
CA24100001664- 6 

しかし、私は更新時にすべての行の値として '1'を取得しています。

ここに私の質問ですが、誰でもこれを助けてください。

UPDATE PS_UC_CA_CONT_STG C 
SET C.CONTRACT_LINE_NUM2 = (SELECT row_number() over(PARTITION BY D.CONTRACT_NUM 
                 order by D.CONTRACT_NUM) 
FROM PS_UC_CA_HDR_STG D 
WHERE C.CONTRACT_NUM=D.CONTRACT_NUM); 

おかげenter image description here

答えて

-1

更新が セットCOMMをEMP =(CNT付き)EMPからRN(DEPTNOによってDEPTNO順序によってパーティション(上DEPTNO、EMPNO、ROW_NUMBER()を選択)として は、cを選択 .rn from cnt c where c.empno = a.empno)

+0

これも機能しません。 – Mythri

+0

私はempテーブルで試してみましたが、動作しています、プライマリキーで結合する必要があります。 –

+0

あなたの更新されたクエリを送信できますか? –

関連する問題