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 :

une reqête sur 2 tables


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut une reqête sur 2 tables
    Bonjour,

    J’aimerais connaître le nombre d’articles correspondant à la commande la plus récente.
    J’ai donc deux tables : TABLEA et TABLEB

    TABLEA contient les champs : ID, et CLIENT

    TABLEB contient les champs : ID, COMMANDE(clé etrangère de la TABLEA (id)), ARTICLES et QUANTITE


    Pour connaître la commande la plus récente, j’effectue la requête suivante qui focntionne :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT id FROM TABLEA where client='$mail' order by id desc
    Mais j’aimerais en une seule requête connaître le nombre d’articles correspondant à la commande ID de la table A.

    Si vous pouviez m’aider à construire cette requête ?

    Merci d’avance.

  2. #2
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Salut !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT C.id, COUNT(*)
    FROM commande C
    JOIN details D ON C.id = D.id
    WHERE C.client = "$mail";
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    Bonjour,

    la notion de order n'y est pas?

    Et comment pui-je déclarer ma table TABLEA en tant que C et ma table TABLEB en tant que D?

    Désolé mais les requête imbriquées, je ne maitrise pas trop...

  4. #4
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Bonjour,

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT TABLEA.id, COUNT(TABLEA.id)
    FROM TABLEA INNER JOIN TABLEB
       ON TABLEA.id = TABLEB.id
       WHERE client='$mail' 
    GROUP BY TABLEA.id
    ORDER BY TABLEA.id DESC

  5. #5
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Ce n'était pas une requête imbriquée mais juste une jointure.

    Par contre je te conseille vraiment de nommer tes tables autrement, car si quelqu'un doit passer dérrière toi, même pas la peine avec tablea et tableb...

    Il y un thread qui parle des conventions de nommage sur ce forum, tu devrais aller y jeter un oeil !
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  6. #6
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    1 931
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 931
    Par défaut
    au fait mon nombre d'articles est dans le champs quantité de ma table TABLEB.
    Sachant que plusieurs lignes de la tables TABLEB peuvent correspondre à une ligne de la table TABLEA.

    je pense donc que le count, il faut le faire au niveau du champs QUANTITE de la table TABLEB.

    Le champs de la TABLEB correspondant à la TABLEA (la clé étrangère donc)

    est COMMANDE (de la TABLEB) qui correspond au champs ID (dela TABLEA).

Discussions similaires

  1. [Conception] Affichage d'une requete sur plusieurs tables
    Par djinko dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/04/2007, 14h43
  2. Réponses: 4
    Dernier message: 23/10/2006, 09h09
  3. faire une requête sur plusieurs tables
    Par julien.63 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/08/2006, 22h58
  4. [vb6]faire une requete sur plusieurs tables
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/07/2006, 02h06
  5. Une requete sur 3 tables différentes. [Le retour]
    Par CritikKiller dans le forum Requêtes
    Réponses: 11
    Dernier message: 13/03/2006, 01h43

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