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 :

Aide pour une requête qui affiche tous les changements de statut d'un produit


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Traffic manager
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Traffic manager

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Aide pour une requête qui affiche tous les changements de statut d'un produit
    Bonjour à tous,

    J'ai une table dans laquelle une ligne peut posséder plusieurs champs dans une même colonne.

    Exemple : imaginons un produit qui possède un statut : commandé, livré, en rupture.

    Chaque nouveau statut ne remplace pas le précédent, mais ajoute une nouvelle ligne dans une table qui relie l'ID du produit et un statut.

    Quand je fais la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT produit.id, statut.nom
    FROM table_produit AS produit
    LEFT JOIN table_produit_statut AS statut ON statut.produit_id = produit.id
    ORDER BY produit.id
    Ca ne m'affiche que le premier statut qui a été affecté au produit, tous les autres statuts ne sont pas affichés.

    Quelle requête devrais-je utiliser pour afficher tous les statuts qu'un produit a connu ?

    Je vous remercie !

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Votre requête paraît correcte.
    Pouvez-vous fournir quelques données réelles où vous rencontrez le problème ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Traffic manager
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Traffic manager

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Quand j'exécute cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT produit.id, produit nom, statut.nom
    FROM table_produit AS produit
    LEFT JOIN table_produit_statut AS statut ON statut.produit_id = produit.id
    ORDER BY produit.id
    Ça ne m'affiche que le premier statut du produit.

    Exemple :

    ID Nom Statut
    1 Planche à pain Commandé
    2 Clé USB En stock
    3 Filtre à thé Commandé

    La troisième colonne n'affiche que le premier statut qui a été affecté au produit.

    Si par exemple la planche à pain a été livrée, et sur le back-office j'ai changé le statut de "Commandé" à "En stock", c'est "Commandé" qui s'affiche, et pas "En stock". Alors que je voudrais voir seulement le dernier statut, pas un ancien statut qui ne m'intéresse plus.

    Merci !

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Ta requête semble tout à fait valide.
    As-tu vérifié si la table table_produit_statut contient bien les lignes que tu attends ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    normalement, avec votre requête, tous les statuts devraient ressortir : une ligne par statut

  6. #6
    Candidat au Club
    Homme Profil pro
    Traffic manager
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Traffic manager

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Voici le contenu de ma table table_produit_statut, user_id étant l'ID de l'utilisateur qui effectue la mise à jour :

    id user_id produit_id type_action updated_at nom
    1 1 1 UPDATE 2015-02-15 13:50:12 Commandé
    2 1 2 UPDATE 2015-02-15 13:55:26 En stock
    3 1 3 UPDATE 2015-02-15 15:23:55 Commandé
    4 1 1 UPDATE 2015-02-18 09:17:02 En stock

    Merci !

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut


    êtes vous certains que les requêtes que vous avez postées sont exactement celles que vous avez exécutées et qui retourne ce résultat ?

    N'y aurait-il pas par hasard un GROUP BY malheureux qui trainerait quelque part ?

  8. #8
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Et si vous scrollez, vous avez pas le reste des résultats plus bas ?
    Ou alors votre requête ne ramène que les X premières lignes, donc vous ne voyez pas le reste ?

    Essayez un tri différent, genre triez sur le statut.

    Une autre possibilité, c'est de rajouter une clause where... vous mettez un produit en particulier, et un état dans lequel il est ou a été et regardez si ça s'affiche à chaque fois.

Discussions similaires

  1. [AC-2010] Problème requête qui affiche toujours les lignes supprimées d'une tables
    Par Bou31 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/07/2013, 17h15
  2. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42
  3. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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