IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Erreur de syntaxe avec COUNT


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 115
    Points : 45
    Points
    45
    Par défaut Erreur de syntaxe avec COUNT
    Bonjour,

    J'aimerai avec la requête ci-dessous compter le nombre d'équipements identiques (même Reference) qu'il y a sur une voiture (même Serial_number)!

    Lorsque je veux exécuter cette requête, j'obtient une erreur de syntaxe dans l'opération JOIN, et je vois pas quelle peut-être l'érreur!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Clients.Country, [Pays].Zone, Clients.Client, Type.Maker, Type.Type,[Voiture].Model, [Voiture].Serial_number,Options.[Nature Equipement],Options.[Reference], Equipements.NO, Equipements.P2, Equipements.CM, Options.Designation, COUNT [Voiture].Serial_number, Options.[Reference] As Nbre
    FROM Equipements INNER JOIN (Type INNER JOIN ([Pays] INNER JOIN (((Clients INNER JOIN [Voiture] ON Clients.Client = [Voiture].Client) INNER JOIN [Lien] ON [Voiture].Serial_number = [Lien].Serial_number) INNER JOIN (SELECT Serial_Number,"Equipement" as [Nature Equipement],Equipements.[Reference],Designation FROM Equipements INNER JOIN Lien ON Lien.Reference=Equipements.Reference UNION SELECT Serial_Number,"Autre Equipement",[Reference], Designation FROM Autres_Equipements) As Options ON [Voiture].Serial_number = Options.Serial_number) ON [Pays].Country = Clients.Country) ON Type.Type = [Voiture].Type) ON Equipements.[Reference] = [Lien].[Reference]
    GROUP BY Clients.Country, [Pays].Zone, Clients.Client, Type.Maker, Type.Type, [Voiture].Model, [Voiture].Serial_number, Options.[Nature Equipement],Options.[Reference], Equipements.NO, Equipements.P2, Equipements.CM, Options.Designation
    Merci de l'aide que vous pourrez m'apporter!

    30avril1989

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    J'aimerai avec la requête ci-dessous compter le nombre d'équipements identiques (même Reference) qu'il y a sur une voiture (même Serial_number)!
    Pourquoi toutes ces tables ? La pays du client n'a rien à faire par exemple dans une telle requête.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 115
    Points : 45
    Points
    45
    Par défaut
    Re,

    Au départ, il s'agit d'une requête de sélection à laquelle j'ajoute la fonction COUNT, donc voilà pourquoi j'ai besoin de toutes ces tables!

    Peut-être dois-je le faire en 2 requêtes séparées?

    Dans tout les cas, il faut que les résultats soient donnés ensemble, et non séparemment!

    Merci de l'aide que vous pourrez m'apporter!

    30avril1989

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 115
    Points : 45
    Points
    45
    Par défaut
    Re,

    L'erreur de syntaxe indiquée est la "virgule":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UNION SELECT Serial_Number,"Autre Equipement"...[
    Merci pour l'aide que vous pourrez m'apporter!

    30avril1989

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 755
    Points : 57 598
    Points
    57 598
    Billets dans le blog
    42
    Par défaut
    bonjour,

    Citation Envoyé par 30avril1989 Voir le message
    Peut-être dois-je le faire en 2 requêtes séparées?
    Dans un premier temps, je dirais oui.

    J'aimerai avec la requête ci-dessous compter le nombre d'équipements identiques (même Reference) qu'il y a sur une voiture (même Serial_number)!
    voilà une première requête de regroupement à rédiger à l'aide des assistants en ne faisant intervenir que les tables&champs strictement nécessaires (Voiture, Equipement, table de jonction)

    Dans tout les cas, il faut que les résultats soient donnés ensemble, et non séparemment!
    seulement dans un deuxième temps en faisant les jointures nécessaires avec la requête précédente.

    Et dans un 3ème temps, tu pourras t'amuser à regrouper tout ça dans le même code...

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 755
    Points : 57 598
    Points
    57 598
    Billets dans le blog
    42
    Par défaut
    Re,

    Si j’ai bien vu, tu as une table Lien (#Serial_number, #Reference) qui fait la jonction entre les tables Voiture et (Equipements UNION Autres_Equipements).

    Citation Envoyé par 30avril1989
    J'aimerai avec la requête ci-dessous compter le nombre d'équipements identiques (même Reference) qu'il y a sur une voiture (même Serial_number)!
    Ce qui donnerait la sous-requête de départ sur la seule table [Lien],
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT serial_number, reference, Count(*) AS qtte
    FROM Lien
    GROUP BY serial_number, reference;

Discussions similaires

  1. [PHP 4] Erreur de syntaxe avec Implode
    Par jmtrivia dans le forum Langage
    Réponses: 2
    Dernier message: 13/05/2009, 18h43
  2. Gestionnaire d'interruptions : erreur de syntaxe avec l'opcode call
    Par Link/DD dans le forum Programmation d'OS
    Réponses: 7
    Dernier message: 23/01/2008, 17h00
  3. [POO] Erreur de syntaxe avec une classe
    Par sirbaldur dans le forum Langage
    Réponses: 5
    Dernier message: 10/01/2007, 13h30
  4. [Conception] Erreur de syntaxe avec un champ de tableau
    Par lodan dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/09/2006, 11h45
  5. Erreur de syntaxe avec UPDATE
    Par tyarak dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/02/2006, 01h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo