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

PHP & Base de données Discussion :

INNER JOIN - ORDER BY - GROUP BY


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 83
    Par défaut INNER JOIN - ORDER BY - GROUP BY
    Bonjour tout le monde,

    J'ai deux tables :

    Table1 : commande
    
    id    |    id_client      |      date_vente
    
    Table 2 : commande_lignes
    
    id    |    id_commande    |     article    

    J'aurai besoin de sortir les derniers articles vendus pour un client

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select cl.article,c.date_vente 
    from commande_lignes cl inner join commande c on cl.id_commande=c.id 
    where c.id_client="123"   group by cl.article  order by c.date_vente desc

    Comme vous l'avez compris, order by n'a pas trop son effet.

    Avez-vous une idée ? j'ai le cerveau à l'arrêt.

    merci d'avance

  2. #2
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Pas besoin de GROUP BY à priori.
    Tu limites le retour à 1 ligne et le tour est joué
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT cl.article, c.date_vente FROM commande_lignes cl inner join commande c on cl.id_commande=c.id 
    WHERE c.id_client="123" order by c.date_vente DESC LIMIT 1

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 83
    Par défaut
    Bien pensé mais il y a plusieurs articles
    Si je limite à 1 , il ne va m'afficher qu'un article

  4. #4
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Bah moi, je réponds à la question posée.
    Si tu formules mal ta question, tu as une réponse erronée.

    J'aurai besoin de sortir le dernier article vendu pour un client

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 83
    Par défaut
    désolé j'ai corrigé

  6. #6
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    C'est pas comme ça qu'on fait, on ne modifie pas les posts précédents.

    J'imagine que tu veux lister les articles de la dernière commande d'un client donné.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT cl.article, c.date_vente FROM commande_lignes cl JOIN commande c ON cl.id_commande = c.id 
    WHERE c.id = (SELECT c2.id FROM commande c2 WHERE c2.id_client = 123 ORDER BY c2.id DESC LIMIT 1);

Discussions similaires

  1. Order by et inner join très lent
    Par grunk dans le forum Requêtes
    Réponses: 9
    Dernier message: 26/04/2013, 16h58
  2. [AC-2003] Inner Join, Sum et Group By
    Par Gigli dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 03/02/2012, 12h43
  3. pb avec Group by et INNER JOIN/UPDATE TABLE
    Par Larentia dans le forum Requêtes
    Réponses: 6
    Dernier message: 19/01/2009, 20h05
  4. Mysql Inner join
    Par ..:: Atchoum ::.. dans le forum Requêtes
    Réponses: 3
    Dernier message: 25/10/2007, 12h21
  5. Problème INNER JOIN GROUP BY
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/05/2007, 16h18

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