Page 1 sur 1

supprimer enregistrements qui correspondent à une valeur max

Posté : 07 juin 2014, 11:23
par maestro1303
Bonjour,
J'ai une table t1 ayant les champs nb,col0, col1,col12,col3 (col0, col1,col12,col3) est une clé primaire et une table t2 avec la structure col0, cle,col1,col12,col3 et je veux faire la chose suivante
Supprimer tous les enregistrements de T2 qui ont la combinaison col0, col1,col12,col3 identique à celle de T1 avec le champ nb à sa valeur maximale.
Par exemple si dans T1 on a

Code : Tout sélectionner

1 120 0,0052 0,0035 0,0076 8 120 0,0102 0,005 0,007 1 122 0,0052 0,0035 0,0076 4 122 0,0102 0,005 0,007 1 123 0,0052 99 0,0076 3 123 0,0102 0,005 0,007 1 124 0,0052 0,0035 0,0076 2 124 0,0102 0,005 0,007 1 124 0,09653 0,0391 0,066 1 124 0,123729 0,1495 0,0885
les enregistrements

Code : Tout sélectionner

8 120 0,0102 0,005 0,007 4 122 0,0102 0,005 0,007 3 123 0,0102 0,005 0,007 2 124 0,0102 0,005 0,007
ont le champ nb maximal, je veux supprimer les champs correspondant dans T2 cad:


Code : Tout sélectionner

120 0,0102 0,005 0,007 122 0,0102 0,005 0,007 123 0,0102 0,005 0,007 124 0,0102 0,005 0,007
Merci d'avance

Re: supprimer enregistrements qui correspondent à une valeur

Posté : 07 juin 2014, 22:19
par moogli
Salut,

Sur le principe c'est simple il te faut sélectionner la pk pour la valeur.
Donc select les,colonnes from t1 where nb = (select max(nb) from t1)
A partir de la tu peux faire ton delete.

Au pire un delete avec 4 sub select fera l'affaire.

@+