Problème de requete sql avec DELETE et select

Fermé
flach - 21 avril 2009 à 15:01
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 - 28 avril 2009 à 18:10
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)
A voir également:

4 réponses

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)
1
je vous relance mes je suis assez pressé et je n'ai toujours pas trouvé la réponse.
0
loocla Messages postés 180 Date d'inscription vendredi 24 avril 2009 Statut Membre Dernière intervention 18 juin 2009 18
28 avril 2009 à 09:33
Ca te met une erreur ?
Tu places ta requête dans un requeteur directement ?
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
28 avril 2009 à 18:10
Sinon, les jointures, ça ne te parle pas ?

Cela serait beaucoup plus optimisé ;)

Pour ta table temp, tu peux directement insérer les valeurs dans le SQL de la création de ta table.
0