Problème de requete sql avec un delete et un select imbriquer avec un order by

flachkiller Messages postés 2 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 28 avril 2009 - 28 avril 2009 à 09:15
flachkiller Messages postés 2 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 28 avril 2009 - 28 avril 2009 à 17:36
Bonjour,

je voudrai savoir comment résoudre se problème :

j'ai une requête qui est la suivante :

SELECT id_requete,

( SELECT ip FROM machine WHERE id_machine = id_machine_src ) AS ip_src ,

( SELECT ip FROM machine WHERE id_machine = id_machine_des ) AS ip_des

FROM requete

GROUP BY ip_src, ip_des

et je voulais supprimer toutes les lignes de la table requete qui
ne sont pas pris en compte dans la requete si dessus. J'ai essayé cette
structure mais sans résultat :

DELETE FROM `requete` WHERE id_requete not in (SELECT id_requete,

( SELECT ip FROM machine WHERE id_machine = id_machine_src ) AS ip_src ,

( SELECT ip FROM machine WHERE id_machine = id_machine_des ) AS ip_des

FROM requete

GROUP BY ip_src, ip_des)

2 réponses

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
28 avril 2009 à 11:00
bonjour

pour pouvoir repondre a votre question, il nous faudrait connaitre la structure de votre base de données, notamment le lien qui existe entre les deux table que vous citez.
car la on ne peut faire que des suppositions, et on risque de vous donner une reponse erronée
0
flachkiller Messages postés 2 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 28 avril 2009
28 avril 2009 à 17:36
merci j'ai trouvé la solution problème résolue.


j'ai placé le résultat de m'a première requete dans une table temporère ensuite j'ai comparé les identifier de mes deux tables si l'identifient était différent lors je supprimé la ligne dans la table requete.


première étape :


insert into temp_requete (id_requete, ip_src, ip_des)
SELECT id_requete,
( SELECT ip FROM machine WHERE id_machine = id_machine_src ) AS ip_src ,
( SELECT ip FROM machine WHERE id_machine = id_machine_des ) AS ip_des
FROM requete
GROUP BY ip_src, ip_des



seconde étape :


DELETE FROM requete WHERE id_requete not in (SELECT id_requete from temp_requete)
0
Rejoignez-nous