Problème de requete sql avec DELETE et select

flach -  
P@t@ch0n Messages postés 603 Statut Membre -
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

flach
 
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
flach
 
je vous relance mes je suis assez pressé et je n'ai toujours pas trouvé la réponse.
0
loocla Messages postés 206 Statut Membre 18
 
Ca te met une erreur ?
Tu places ta requête dans un requeteur directement ?
0
P@t@ch0n Messages postés 603 Statut Membre 85
 
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