Retour au site
Connexion : S'inscrire

2 messages
Filtrer ok

Sql et except !!!

Un expert informatique vous aide immédiatement par téléphone.
Bonjour, je me prend la tete sur une requete... voila j'ai une requete avec de multiple tables:
Ce resultat, je voudrai en faire la difference avec une autre table.

En gros, je veux les info d'une table - sauf celles qui sont dans une autre table

Voici ma requete
Code :
select customer_id from mt_customer,mt_erevue, mt_entry, mt_diffusion, mt_diffusionSup 
where entry_id =erevue_entry_id and erevue_cmd =diffusion_cmd and diffusion_customer_id =customer_id 
and entry_text_more like '%071218%' 
EXCEPT 
select diffusionSup_id from mt_diffusionSup where diffusionSup_diffusion_id=102;


Mais il me retourne
Code :
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXCEPT select diffusion_id from mt_diffusionSup where diffusionSup_diffusion_id=' at line 1


Sachant que la requete me donne le bon resultat si je ne met pas le EXCEPT ......
La 2eme parti de la requete est corect aussi, en fait, c vraiment le EXCEPT qui me bloque

qq'un a une idée?
Edité le 18/12/2007 à 14:38

   SQL, Mysql
 
 
Manque de chance pour toi, mySQL ne supporte pas la clause EXCEPT (=MINUS sous d'autres SGBD).

dev.mysql.com...

Tu n'as que UNION qui est supporté.

Fort heureusement, tu peux transformé ta requête avec des sous requêtes:

Code :
select customer_id from mt_customer,mt_erevue, mt_entry, mt_diffusion, mt_diffusionSup 
where entry_id =erevue_entry_id and erevue_cmd =diffusion_cmd and diffusion_customer_id =customer_id 
and entry_text_more like '%071218%' and customer_id NOT IN(select diffusionSup_id from mt_diffusionSup where diffusionSup_diffusion_id=102)
Modérateur Logiciel - Programmation
 
 

|
 
2 messages
Un expert informatique vous aide immédiatement par téléphone.
Filtrer ok
 
Vous devez être connecté pour écrire un message !
 

 Sujets Similaires: