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

Langage SQL Discussion :

[MySQL] Probleme sur requetes imbriquées


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut [MySQL] Probleme sur requetes imbriquées
    j'utilise le logiciel Mysql Front

    voila ce que je lance comme commande SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select*from client where SigleTiers EXISTS(select SigleTiers from client where codeproduit = 11)
    et voici l'erreur que j'ai:

    Erreur d'execution SQL (1064). response de la base de données:
    [you have an error in your SQL syntax near 'EXISTS(select SigleTiers from client where codeproduit = 11)' at line 1]


    Merci si qqun a une idée

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut Re: Probleme sur requete SQL
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * 
    from client 
    where EXISTS (select SigleTiers from client where codeproduit = 11)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    je viens d'essayer et ca ne marche pas non plus

    je ne sais pas si ce que je cherche a faire est clair en fait !!!

  4. #4
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    tu veux faire quoi exactement?
    je comprends pas trop a quoi sert ta requete.
    je dois fatiguer

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par joxbl
    je viens d'essayer et ca ne marche pas non plus
    Quelle est ta version de MySQL ?

    Rappel : nous avons une FAQ MySQL :
    On y trouve des infos intéressantes
    http://mysql.developpez.com/faq/?pag..._sous_requetes

    Pour le "sens" de ta requête, on peu t'aider si :
    - tu nous décris ce que tu souhaites faire en français,
    - tu nous donnes des infos sur ton schéma.

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par Cybher
    tu veux faire quoi exactement?
    je comprends pas trop a quoi sert ta requete.
    je dois fatiguer
    Je n'avais regardé que la syntaxe de cette requête, mais il est clair que la sémantique est absurde, sans explication sur le besoin, impossible d'avancer.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    Je vais essayer d'expliquer en etant le plus clair possible:

    J'ai une table avec plusieurs champs,
    prenons arbitrairement les noms
    cat --> pour le champs categorie
    CodP --> pour le champs code produit.

    ma recherche pourrait se faire en 2 etapes mais j'essai de savoir s'il est possible de l'executer en une seule fois.

    1/ Je cherche tout les Code Produit dont leur categorie est egal a 11 (par ex.)

    sachant qu'un meme code produit appartient a plusieurs categorie

    2/ Je cherche a afficher l'ensemble des données correspondant a la selection que j'ai faites precedement sur les code produit.


    Je ne sais pas si je suis clair si ce n'est pas le cas, j'essayerai de faire un schema.

    Merci de votre aide.

  8. #8
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    peux tu donner un exemple avec quelques données sur ta table et ce que ta requete doit retourner? (pour être sur davoir compris)
    merci

    Michel

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    Voila une image de ce que pourrait reprensenter ma base:

    http://img89.imageshack.us/my.php?image=client10ch.jpg

    ensuite voila ce que pourrai selectionner ma premiere partie de requete:

    http://img143.imageshack.us/my.php?image=client20ws.jpg

    voila le resultat de la requete

    http://img83.imageshack.us/my.php?image=client37af.jpg

    puis voila la selection que ferait la deuxieme partie de la requete:

    http://img221.imageshack.us/my.php?image=client44ei.jpg

    et enfin voila le resultat que j'attends

    http://img83.imageshack.us/my.php?image=client51px.jpg

  10. #10
    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 : 41
    Localisation : France

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

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

    essaaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select*from client where SigleTiers in(select SigleTiers from client where codeproduit = 11)

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    En faite c'etait ma requete de base, et j'ai toujours la meme erreur ...

  12. #12
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    version de MySQL<4.1 ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    c'est la 3.2 de mysql-front
    ca pourrait aider de mettre a jour ?

  14. #14
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    MySQL supporte les requetes imbriquées a partir de la version 4.1
    donc cela risque de ne pas fonctionner si tu utilises une version antérieure

    sinon regarde du coté de l'auto jointure en espérant que tu trouveras quelque chose qui fonctionne

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    je vais regarder pour l'auto jointure, mais je suis deja en Mysql 5.0 donc cela vient pas de la...

  16. #16
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    bizarre,
    donne le script de creation de ta table

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE `client` (
      `id` int(11) NOT NULL auto_increment,
      `SigleTiers` char(15) default NULL,
      `Codeproduit` char(4) default NULL,
      `Quantité` char(5) default NULL,
      `Datecréation` char(15) default NULL,
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM;

  18. #18
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from client where SigleTiers in(select SigleTiers from client where Codeproduit = '11')
    message d'erreur retourné?

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 122
    Points : 49
    Points
    49
    Par défaut
    Je l'avais mise un peut plus haut
    en fait c'est la meme:

    Erreur d'execution SQL (1064). response de la base de données:
    [you have an error in your SQL syntax near 'EXISTS(select SigleTiers from client where codeproduit = 11)' at line 1]

  20. #20
    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 : 41
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    il n'y a pas de exists dans la requete....

    de plus quand tes valeurs ne peuvent prendre que des valeurs numériques, pourquoi le mettre de type char? un int serait plus adapté

Discussions similaires

  1. [MySQL] Probleme sur requete mysql
    Par XAeon dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/12/2008, 07h01
  2. [MySQL] probleme sur requete mysql
    Par boriskov dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/07/2008, 19h02
  3. probleme update avec where sur requete imbriqué
    Par JulienCEA dans le forum Requêtes
    Réponses: 11
    Dernier message: 04/06/2008, 12h44
  4. probleme de requete imbriquées
    Par copin dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/10/2005, 05h45
  5. Probleme avec requete imbriquée
    Par LeDoc dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/09/2005, 18h11

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