Voila j'ai un petit probleme, je cherche à faire la requete suivante...
ALGORYTHME
-------------
POUR CHAQUE VALEUR DE CHAMP1 de TABLE1
| SUPPRIMER LIGNE OU CHAMP2=MAX(CHAMP2)
| ET OU CHAMP1=CHAMP1 COURANT
FIN
Merci d'avance pour vos reponses.
![]()
![]()
Voila j'ai un petit probleme, je cherche à faire la requete suivante...
ALGORYTHME
-------------
POUR CHAQUE VALEUR DE CHAMP1 de TABLE1
| SUPPRIMER LIGNE OU CHAMP2=MAX(CHAMP2)
| ET OU CHAMP1=CHAMP1 COURANT
FIN
Merci d'avance pour vos reponses.
![]()
![]()
La meme table
je comprend pas trop ta requête, tu vas supprimer toutes tes lignes la si tu fais cette requête en boucle ?
parce que si tu supprimes une ligne avec ton max(champ2), il y aura forcement une autre ligne avec un champ2 qui deviendra le max !
(sauf si tu parcours qu'une fois ta table)
tu veux obtenir quoi en final ?
il y a plusieurs valeur identique pour ton champ 2 ?
tu peux donner un ex concrait ?
TABLE1 AVANT
CHAMP1 | CHAMP2
10001 | 1
10001 | 2
10001 | 3
10002 | 1
10002 | 3
10002 | 6
TABLE1 APRES
CHAMP1 | CHAMP2
10001 | 1
10001 | 2
10002 | 1
10002 | 3
Ici, on a supprimé le max Champ2 (=3) lorsque Champ1=10001
puis Champ2 (=6) lorsque champ1=10002
pas de valeur identique pour le champ2
ah c'est plsu clair !
testé sous Access, j'ai pas SQL server sous la main (donc je sais plus s'il accepte les sous requete...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DELETE from Table1 where champ2 in (SELECT max(champ2) from table1 group by champ1)
Partager