Suppression multitables

Suppression multitables - SQL/NoSQL - Programmation

Marsh Posté le 03-04-2009 à 18:26:14    

Bonjour à tous,
 
Petite question MySQL :
J'ai deux tables :
Entreprise <eid, ...>
Contact <cid, ..., eid>
 
Je souhaiterai supprimer de ma table Contact tous les contacts dont l'entreprise n'existe plus.
 
Je sais trouver les contacts que je veux supprimer :
SELECT count(DISTINCT c.cid) FROM Contact c LEFT JOIN Entreprise e ON c.eid=e.eid WHERE e.eid IS NULL
 
Mais je n'arrive pas a ecrire la requete DELETE correspondante, MySQL gueule...
DELETE FROM Contact c LEFT JOIN Entreprise e ON c.eid=e.eid WHERE e.eid IS NULL
 
Vous avez une idée ?
Merci d'avance


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 03-04-2009 à 18:26:14   

Reply

Marsh Posté le 04-04-2009 à 11:43:02    

Selon la doc le delete multitable est dispo a partir de la 4.0.0, es-tu bien avec une version supérieur ou égale à cette version ?

Reply

Marsh Posté le 04-04-2009 à 12:20:11    

oui je suis en 5.0.45, c'est pas le probleme je ne pense pas,
j'arrive  pas a ecrire cette satannée requete, meme avec la doc sous les yeux...
 
personne n'a déjà fait un truc comme ca ?


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 04-04-2009 à 12:46:35    

qu'est ce qu'il dit mysql ?

Reply

Marsh Posté le 04-04-2009 à 14:07:32    

Tu peux peut etre l'écrire en version requêtes imbriquées
DELETE FROM Contact WHERE cid IN(
SELECT DISTINCT c.cid FROM Contact c LEFT JOIN Entreprise e ON c.eid=e.eid WHERE e.eid IS NULL)
 
ou le SELECT est ta requete qui fonctionne


Message édité par yellu le 04-04-2009 à 14:08:35
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed