{mysql} delete sur un select avec join..
Résolu/Fermé
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
-
30 nov. 2009 à 15:37
kalimbra Messages postés 469 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 7 octobre 2014 - 2 déc. 2009 à 07:51
kalimbra Messages postés 469 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 7 octobre 2014 - 2 déc. 2009 à 07:51
Bonjour,
je me demandais s'il était possible de faire un delete sur un select sur la même table, mais jointé sur une autre table avec des conditions multiple ?
genre :
je me demandais s'il était possible de faire un delete sur un select sur la même table, mais jointé sur une autre table avec des conditions multiple ?
genre :
delete from Order_Line WHERE id_order IN (SELECT Order_Line.id_order_line FROM Order_Line LEFT JOIN session on Order_Line.id = session.id WHERE Order_Line.id_order="985625421" AND (session.state = "closed" OR session.state ="inprogess" OR session.state="cancelled"))
A voir également:
- {mysql} delete sur un select avec join..
- Hiberfil.sys delete - Guide
- Just delete me - Guide
- Mysql community server - Télécharger - Bases de données
- Touche delete clavier ✓ - Forum Clavier
- Reboot and select proper boot device asus - Forum Matériel & Système
3 réponses
CaPiT
Messages postés
609
Date d'inscription
lundi 7 janvier 2008
Statut
Membre
Dernière intervention
21 avril 2010
51
1 déc. 2009 à 13:56
1 déc. 2009 à 13:56
Bonjour.
Oui, c'est possible.
Au pire tu peux aussi faire un :
DELETE FROM table WHERE EXISTS (SELECT * ...)...
Oui, c'est possible.
Au pire tu peux aussi faire un :
DELETE FROM table WHERE EXISTS (SELECT * ...)...
Salut
Méfie-toi quand même du left join : des lignes sont renvoyées même s'il n'y a pas de correspondance. et si tu supprimes les lignes renvoyées, tu supprimes tout.
le secret du delete : fais un select pour voir ce qui sera supprimé puis fais un delete avec strictement la même clause where
Méfie-toi quand même du left join : des lignes sont renvoyées même s'il n'y a pas de correspondance. et si tu supprimes les lignes renvoyées, tu supprimes tout.
le secret du delete : fais un select pour voir ce qui sera supprimé puis fais un delete avec strictement la même clause where
kalimbra
Messages postés
469
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
7 octobre 2014
72
2 déc. 2009 à 07:51
2 déc. 2009 à 07:51
Oui au final comme j'avais une erreur à ma requete de delete sur la même table que le select j'ai fait deux requètes tant pis).
Pour économiser les requete en double je crée ma requète de delete via une boucle dans le select, je reconstitue le requète et je la passe..
Pour économiser les requete en double je crée ma requète de delete via une boucle dans le select, je reconstitue le requète et je la passe..