Rechercher : dans
Par :

[SQL] Erreur dans ma requête

Dernière réponse le 22 mai 2007 à 12:33:12 xbb, le 10 mai 2007 à 12:06:51 
 Signaler ce message aux modérateurs

Bonjour à tous !
Je ne parviens pas à trouver l'erreur dans cete requête :

SELECT *
FROM Mobile_Appareils MA
WHERE NOT EXISTS(SELECT 1
                 FROM Mobile_Commandes_Appareil MC
                 WHERE MA.IdMobile = MC.IdMobile
                 AND MC.Clos = '0'
                 AND '2007-05-10'
                 BETWEEN MC.DateRetraitPrevu
                 AND MC.DateRetourPrevu)
ORDER BY MA.MarqueMobile, MA.ModeleMobile


L'erreur générée est la suivante :
#1064 - You have an error in your SQL syntax near 'EXISTS ( SELECT 1 FROM Mobile_Commandes_Appareil MC WHERE MA . IdMobile = MC . I' at line 1


Pitié à l'aide je m'arrache les cheveux dessus depuis ce matin :(
Configuration: Windows XP
Firefox 2.0.0.2

Meilleures réponses pour « [SQL] Erreur dans ma requête » dans :
SQL - Sous-requêtes Voir Expression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...
PL/SQL - Introduction au langage PL/SQL VoirIntroduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...

1

Mr.White, le 10 mai 2007 à 12:30:57

Salut,

Bon, ce que je vai dire reste à vérifier ...

Perso, j'écrirer plutôt :
Mobile_Appareils AS MA

Sinon, ton "SELECT 1 ..."
Ton nom de champ "1" me parait bizzard, essaie avec de données un nom avec des lettres.

Je ne suis pas un fin connaisseur du "NOT EXIST" donc perso je vérifirer la syntaxe.

Voila les idées qui me passe par la tête, autrement dit ... je n'ai pas perçut d'érreur flagrande.

Pour cette aprés midi, ... , prévoit une péruque pour passer tes nerfs.

Répondre à Mr.White

2

xbb, le 10 mai 2007 à 13:16:58

Lol merci de la réponse :)

Alors déjà le SELECT 1 c'est par ce que dans une sous requête précédée de (NOT) EXISTS, le nom des champs sélectionnés est ignoré, il ne s'en sert pas.

Mais peu importe car en fait c'est ma version obsolete de mysql qui ne gere pas les sous-requêtes.
Je dois donc trouver un moyen à l'aide de jointures pour contourner ça... Et la je sèche! :(

Répondre à xbb

3

 Mr.White, le 22 mai 2007 à 12:33:12

Tu ne peut pas t'aider d'un language de prog (genre PHP) pour faire ca ?

Répondre à Mr.White