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 :

Syntaxe de sous-requête avec Dreamweaver


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut Syntaxe de sous-requête avec Dreamweaver
    Je n'arrive pas à comprendre pourquoi ma sous-requête ne fonctionne pas.

    Je voudrais récupérer la liste de tous les clients étant dans la même ville que le client sélectionné.

    Le client sélectionné est dans l'url (detail.php?clientID=2025)

    Mon premier jeu d'enregistrement fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT villeID
    FROM tbl_clients
    WHERE clientID = colname
    ici, colname va chercher le n° client dans l'URL. Donc cette première requête me renvoi un chiffre qui correspond à l'id de la ville.

    Cette première requête fonctionnant, j'ai donc rédigé la requête suivante pensant pouvoir récupérer les autres clients de la ville

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM tbl_clients
    WHERE villelID = (SELECT villeID FROM tbl_clients WHERE clientlID = colname)
    Dreamweawer me renvoi un message d'erreur m'indiquant que ma syntaxe SQL n'est pas correcte.

    Si vous avez un avis sur la question , je suis preneur;

    Merci d'avance

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    ta 1ere requête ne te retourne pas plusieurs enregistrement?
    si oui, il faut remplacer le "=" par un "IN"

    sinon, quel est le message exact retourné?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    En effet la 1ere requete me donne plusieurs résultats.

    J'ai testé avec IN mais ca ne fonctionne pas.

    MySQL Error Error#:1064

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Quelle est la version de MySQL sur laquelle tu travailles ? Parce que le support des sous-requêtes n'est apparu qu'à partir de la version 4.1.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    J'utilise MySQL4.0

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    dans ce cas la, on regarde la FAQ pour savoir comment faire : http://mysql.developpez.com/faq/?pag..._sous_requetes

  7. #7
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bingo !
    Cette version ne supportant pas les sous-requêtes, c'est cuit .
    Eventuellement, tu peux passer par une table temporaire, ou par une variable qui récupère l'ID de la ville et tu l'utilises dans une autre requête, ou encore tu fais une auto-jointure sur la table, mais il faut alors jouer sur les colonnes récupérées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT t2.* 
    FROM tbl_clients t1
    INNER JOIN tbl_clients t2 ON t1.villeID = t2villeID 
    WHERE t1.clientID = colname
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    Cool

    Merci Cybher, c'est la première fois que j'ai l'impression d'avancer concrètement.

    Je vais creuser la piste de la création de table temporaire.

    Je vous tiendrai informé de la suite

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    c'était bien ça !!!

    J'ai transféré ma base sur une version 5...

    et ma reqûete avec sous requête a fonctionné nickel du premier coup.

    TROP CONTENT !!

    Un grand merci à Ced et Cybher

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

Discussions similaires

  1. Sous requête avec plusieurs retours
    Par grunk dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/10/2007, 13h57
  2. Sous-requêtes avec IN et NOT IN
    Par angebe dans le forum SQL
    Réponses: 6
    Dernier message: 28/09/2007, 11h59
  3. sous requête avec liste
    Par illegalsene dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/05/2007, 12h11
  4. Syntaxe d'une requête avec GROUP
    Par gvdmoort dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/10/2006, 15h10
  5. Requête et sous requête avec SELECT et UPDATE
    Par Véronique75ca dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 29/06/2006, 21h25

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