2017-03-16 2 views
1

Je travaille sur peoplesoft. J'ai une exigence où je dois mettre à jour la valeur de la colonne dans une séquence ordonnée en fonction de certains ID. Par exemple. Mais, j'obtiens '1' comme valeur pour toutes les lignes lors de la mise à jourRow_number() over partition

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

Voici ma question, quelqu'un peut-il s'il vous plaît aider à ce sujet.

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); 

Merci enter image description here

Répondre

-1

mise à jour emp un ensemble comm = (avec cnt comme (sélectionner deptno, empno, row_number() plus (partition par deptno commande par deptno) rn de emp) select c .rn de cnt c où c.empno = a.empno)

+0

Cela aussi ne fonctionne pas. – Mythri

+0

J'ai essayé avec emp table et ça marche, seule chose qu'il devrait avoir joint sur la clé primaire. –

+0

Pouvez-vous envoyer la requête mise à jour de la vôtre? –