Bjr,
Je désire mettre a jour un champ oracle (statut) que sur les doublons et sur les dates les moins recentes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
-tableA-
 
objet       date            statut
 
voiture     02/03/2011     2
voiture     02/02/2011     2
voiture     02/04/2011     2     
velo         02/04/2011     2    
velo         02/05/2011     2
afin d'obtenir

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
-tableA-
 
objet       date            statut
 
voiture     02/03/2011     3
voiture     02/02/2011     2
voiture     02/04/2011     3     
velo         02/04/2011     2    
velo         02/05/2011     3
1-
Je pense créer une table temporaire et copier les doublons les plus vieux avec leur rowid respectifs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select rowid from  tableA a  where rowid > (
select min(rowid)
from tableA b
where b.objet= a.objet 
);
ou

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select * FROM tableA 
WHERE ROWID NOT IN ( 
SELECT max(ROWID)  
FROM tableA GROUP BY objet HAVING count(objet)>1
);
2-
puis mettre a jour le statut la table d'origine en recherchant par rowid


merci de vos réponses.