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 et SQL. Discussion :

Requete SQL pour groupement partiel


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Requete SQL pour groupement partiel
    Bonjour,

    Ayant commencé SQL il y a peu, je n'arrive pas à formuler ce que je dois faire avec un langage approprié, je m'excuse donc par avance pour mon vocabulaire approximatif. Voici ce que j'essaye de faire :
    j'ai une table de ce type là

    ID Date Produit Quantité prix Variation du prix Type
    Paul 12/05/2019 pomme 5 2 -5 Fruit
    Paul 12/05/2019 Fourchette 9 1 6 Ustensile
    Paul 12/05/2019 carotte 25 10 -5 Légume
    Paul 12/05/2019 Saladier 2 10 10 Récipient
    Paul 12/05/2019 radis 13 1 4 Légume
    Paul 12/05/2019 orange 30 9 -3 Fruit
    Paul 12/05/2019 fraise 20 1 9 Fruit
    Paul 12/05/2019 framboise 7 2 1 Fruit
    Paul 12/05/2019 poivron 17 7 6 Légume

    et j'aimerai faire une requête pour arriver à un résultat comme suit :


    ID Date Produit Quantité prix Variation du prix Type
    Paul 12/05/2019 pomme 5 2 -5 Fruit
    Paul 12/05/2019 Fourchette 9 1 6 Ustensile
    Paul 12/05/2019 Saladier 2 10 10 Récipient
    Paul 12/05/2019 orange 30 9 -3 Fruit
    Paul 12/05/2019 fraise 20 1 9 Fruit
    Paul 12/05/2019 framboise 7 2 1 Fruit
    Paul 12/05/2019 Légume SOMME(ABS(Variation du prix des légumes)) Legume

    En Bref j'aimerai faire une somme des valeurs absolues des variations de prix UNIQUEMENT pour les légumes, et afficher tous les produits de type "Légume" en une seule ligne, sans changer les autres lignes.
    Je ne sais pas comment faire car group by ne semble pas fonctionner.

    j'avais pensé faire quelque chose comme

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select ID, Date, case(when Produit <> Legume then Produit, else 'Legume') end  as Produit, Quantité, prix, case(when type <> Legume then VariationduPrix, else SUM(ABS(VariationDuprix)) end as VariationduPrix, Type
    group by Type

    mais ça ne marche pas :/

    Si quelqu'un a une idée je vous serais extrêmement reconnaissant.
    Je vous remercie tous par avance pour l'aide que vous pourrez m'apporter et pour le temps passé à essayer de comprendre ce que j'essaye de faire (encore navré de mes piètres explications mais je n'arrive vraiment pas à formuler en quoi je bloque )

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    il faut utiliser UNION pour avoir le détail des fruits d'un coté et le regroupement des légumes de l'autre.
    Cependant, je ne suis pas sûr que sommer le prix et la quantité des légumes aurait un sens ici ...
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select ID, Date,  Produit, Quantité, prix,[Variation du prix], type from tbldesproduits where type <> "Legume"
    union
    select ID, Date,  Type, sum(Quantité), sum(prix), SUM(ABS([Variation du prix])), Type from tbldesproduits where type = "Legume"
    group by Type, ID, Date;
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    case(when Produit <> Legume then Produit, else 'Legume') end
    normal que ce code ne fonctionne pas: on dirait du SQL Oracle
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci !

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Si c'est Ok, n'oublie pas de mettre la discussion en
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. variable dans requete SQL pour delphi
    Par socooooool dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/01/2013, 11h27
  2. requete sql pour bd access97 a tables multiples
    Par waspy59 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2006, 00h11
  3. requete sql pour faire un classement
    Par beezee dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/03/2006, 13h03
  4. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12
  5. Requete SQL pour Access
    Par heraieros dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/01/2006, 14h15

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