Demande Requête SQL

Nouveau WRInaute
Bonjour à tous,
J'ai une requête qui à l'air un peu compliquée en pur SQL. Je me demande si c'est réalisable sans php ou autre.
Voici le résultat de mon SELECT initial :

PluCode;ProductNumber;PluNumber
123456;13111;10
234567;13111;11
345678;13111;12
456789;54875;10

Ce qui serait magique, c'est de pouvoir par l'intermédiaire d'un DELETE de supprimer les lignes qui ont le même ProductNumber (13111) sauf celle qui a le PluNumber le plus élevé (12).
Il me faudrait une seule requête (lourde j'en conviens, mais j'ai que 50 lignes en moyenne).

Mon tableau final si je refait le SELECT de l'exemple devra me donner :

345678;13111;12
456789;54875;10

Est-ce réalisable sur une seule requête ? avec MAX() peut-être. je ne connais pas bien toute les fonctions SQL.

Par avance, merci beaucoup !
 
WRInaute occasionnel
DELETE FROM <nomde_la_table>
WHERE PluCode IN (<requete_initial>)
AND PluCode NOT IN (<requete_initial_avec_un_max_sur_PluNumber>)
 
Nouveau WRInaute
Bonjour et merci pour votre réponse.
J'ai essayé plusieurs combinaisons de votre requête sans succès.
IN attend seulement une colonne. EXISTS prend en compte une requête entière mais je n'ai pas réussi non plus.

Une autre idée ?

Il me faut bien :
PluCode;ProductNumber;PluNumber
345678;13111;12
456789;54875;10

En partant de :
PluCode;ProductNumber;PluNumber
123456;13111;10
234567;13111;11
345678;13111;12
456789;54875;10

Merci :)
 
WRInaute impliqué
De toute façon, il n'est pas possible de faire un DELETE contenant une sous requête SELECT sur une même table.
MySQL ne le permet pas.

Regarde de ce coté là :
http://stackoverflow.com/questions/4562787/how-to-delete-from-select-i ... es#tab-top

En adaptant à ton cas :
Code:
DELETE FROM TaTable WHERE PluCode NOT IN (
    SELECT * FROM (
        SELECT PluCode FROM TaTable ORDER By PluNumber ASC GROUP By ProductNumber
    ) AS p
)

Je n'ai pas testé. J'ai un doute sur mon ORDER By / GROUP By.
Si cela ne fonctionne pas, peux-tu nous fournir un export SQL de ces tables pour que je puisse faire des testes de mon coté (la flemme de le faire ^^)
 
Discussions similaires
Haut