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 MySQL Discussion :

Problème de requête SQL


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse Développeur WEB/.NET
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse Développeur WEB/.NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Problème de requête SQL
    Salutation a tous

    Je suis entrain de programmer un application pour mon entreprise et je plante un une petit requête clé de programme.

    Quand j’exécute le programme pour le tester il m'afficher que j'ai une erreur de syntaxe prêt de '.'. Une information que ne m'aide pas trop

    Voila ma requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "SELECT int_id_intervenant, int_societe_intervenant, int_nom_intervenant, int_telportable_intervenant, int_telfixe_intervenant, int_email_intervenant, int_nom_soucategorie" & _
                                "FROM int_intervenant, int_categorie, int_souscategorie" & _
                                "WHERE int_categorie.int_id_categorie = int_intervenant.int_id_categorie AND int_souscategorie.int_id_soucategorie = int_categorie.int_id_soucategorie " & _
                                "AND int_nom_categorie = '" & ComboBox_catint.SelectedItem.ToString & "' AND int_nom_souscategorie = '" & ComboBox_souscatint.SelectedItem.ToString & "';"
    pouvais vous m'aidez a trouvé le problème svp ?

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    déjà les jointures s'écrivent depuis 20 ans avec l'opérateur JOIN

    de plus, quand tu compares des valeurs à priori numériques (int_...) avec une chaine (valeur entre ' ' ) c'est normal que ça marche pas

    enfin on utilise des alias de table pour compacter l'écriture

    donc ça devrait ressembler à ça:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT int_id_intervenant, int_societe_intervenant, int_nom_intervenant, int_telportable_intervenant, int_telfixe_intervenant, int_email_intervenant, int_nom_soucategorie
    FROM int_intervenant it
    left join int_categorie cat on cat.int_id_categorie = it.int_id_categorie
    	AND cat.int_nom_categorie = ComboBox_catint.SelectedItem.ToString
    left join int_souscategorie sscat on sscat.int_id_soucategorie = cat.int_id_soucategorie
    	AND sscat.int_nom_souscategorie = ComboBox_souscatint.SelectedItem.ToString
    je te laisse reformater ta requête pour le langage ciblé... vu que tu dis pas ce que c'est...

    ps: c'est inner join pour les jointure qui rapatrie obligatoirement des données dans les 2 tables et left si tu n'as pas obligation de le faire dans la table jointe
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse Développeur WEB/.NET
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse Développeur WEB/.NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    salut,
    Merci pour ta réponse, entre temps j'avais déjà essayé avec cette syntaxe ( je parle des JOIN ) Il me retourne toujours l'erreur prêt de INNER, ou IT voir LEFT.
    [cela dépend de la syntaxe utilisé]

    En gros j'ai testé toute les syntaxes de requête conseillé et elles fonctionne bien coté serveur, c'est a dire quand je fait mes requêtes directement sur la base de données. mais une fois établie côté client, erreur.

    le préfixe int_ de mes table veulent juste dire INTERVENANT cela ne réfère en rien le type de donnée stocké.

    pour ce qui est de mes table :




    pour ta requête, après mes adaptation, elle me retourne l'erreur [ Erreur de syntaxe vers 'it' en bref toujours au démarrage des jointure, alors qu'elle fonctionne merveilleusement côté serveur !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    "SELECT int_id_intervenant, int_societe_intervenant, int_nom_intervenant, int_telportable_intervenant, int_telfixe_intervenant, int_email_intervenant, int_nom_soucategorie" & _
                                "FROM int_intervenant it " & _
                                "LEFT JOIN int_categorie cat ON cat.int_id_categorie = it.int_id_categorie" & _
                             "AND cat.int_nom_categorie = ComboBox_catint.SelectedItem.ToString" & _
                                "LEFT JOIN int_souscategorie sscat ON sscat.int_id_soucategorie = cat.int_id_soucategorie" & _
                             "AND sscat.int_nom_souscategorie = ComboBox_souscatint.SelectedItem.ToString"

    Je ne sais vraiment plus quoi faire, j'ai presque fini la programme mais il me reste juste cette requête.
    Images attachées Images attachées  

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Erreur de syntaxe vers 'it'
    Cela signifie en principe que l'erreur se situe juste avant 'it'.
    Essaie en ajoutant AS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM int_intervenant AS it
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Candidat au Club
    Homme Profil pro
    Analyse Développeur WEB/.NET
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse Développeur WEB/.NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    cette fois si il me retourne [ Erreur de syntaxe vers le mot clé 'AS'.]

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je crois qu'il te manque un espace entre la fin de la première ligne dans ton code et le début de la deuxième.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Candidat au Club
    Homme Profil pro
    Analyse Développeur WEB/.NET
    Inscrit en
    Octobre 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse Développeur WEB/.NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2012
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Wouah ! perdre 2 jours sur un problème d'espace

    M'enfin, Merci beaucoup pour m'avoir fait remarquer, j'ai donc repris ma syntaxe la plus basique en apportant les espaces qu'il fallait

    ce qui donne a la fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "SELECT int_id_intervenant Numero, int_societe_intervenant Société, int_nom_intervenant NomReprésentant, int_telportable_intervenant TéléphonePortable, int_telfixe_intervenant TéléphoneFixe, int_email_intervenant AdresseEmail, int_nom_souscategorie catégorie " & _
                                "FROM int_intervenant, int_categorie, int_souscategorie " & _
                                "WHERE int_categorie.int_id_categorie = int_intervenant.int_id_categorie AND int_souscategorie.int_id_soucategorie = int_categorie.int_id_soucategorie " & _
                                "AND int_nom_categorie = '" & ComboBox_catint.Text.ToString & "' AND int_nom_souscategorie = '" & ComboBox_souscatint.Text.ToString & "';"
    Merci encore a tous

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Rhaa ! Pourquoi être retourné 20 ans en arrière avec ces jointures pourries ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "SELECT int_id_intervenant Numero, int_societe_intervenant Société, int_nom_intervenant NomReprésentant, int_telportable_intervenant TéléphonePortable, int_telfixe_intervenant TéléphoneFixe, int_email_intervenant AdresseEmail, int_nom_souscategorie catégorie " & _
    "FROM int_intervenant i " & _
    "INNER JOIN int_categorie c ON c.int_id_categorie = i.int_id_categorie " & _
    	"INNER JOIN int_souscategorie sc ON sc..int_id_soucategorie = c.int_id_soucategorie " & _
    "WHERE int_nom_categorie = '" & ComboBox_catint.Text.ToString & "' AND int_nom_souscategorie = '" & ComboBox_souscatint.Text.ToString & "';"
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par blayck972 Voir le message
    Wouah ! perdre 2 jours sur un problème d'espace

    M'enfin, Merci beaucoup pour m'avoir fait remarquer, j'ai donc repris ma syntaxe la plus basique en apportant les espaces qu'il fallait

    ce qui donne a la fin:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "SELECT int_id_intervenant Numero, int_societe_intervenant Société, int_nom_intervenant NomReprésentant, int_telportable_intervenant TéléphonePortable, int_telfixe_intervenant TéléphoneFixe, int_email_intervenant AdresseEmail, int_nom_souscategorie catégorie " & _
                                "FROM int_intervenant, int_categorie, int_souscategorie " & _
                                "WHERE int_categorie.int_id_categorie = int_intervenant.int_id_categorie AND int_souscategorie.int_id_soucategorie = int_categorie.int_id_soucategorie " & _
                                "AND int_nom_categorie = '" & ComboBox_catint.Text.ToString & "' AND int_nom_souscategorie = '" & ComboBox_souscatint.Text.ToString & "';"
    Merci encore a tous
    cinephil a raison faut reprendre la syntaxe que moi ou lui on t'a donné et qui est actuelle et pas celle d'y il a 20 ans...

    ton erreur est classique lors de la transformation d'un langage en chaine de caractère pour un appel dans un autre langage...

    d'où l'intérêt dans ce genre de cas de passer par des procédures stockées au lieu d'un appel direct à une requête longue qui, quand tu la découpes si le langage ne permet pas de l'avoir telle quelle pour une meilleure visibilité, risque de souvent te mener à ce genre d'erreur...

    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  2. problème de requète SQL pour formulaire
    Par en_stage dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2005, 12h21
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  4. [SQLserver2000][SQLServer CE] problème de requête SQL
    Par JBernn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/01/2005, 09h29
  5. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58

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