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 :

SQL Query Problem


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Par défaut SQL Query Problem
    Bonjour

    j'aimerais afficher les descriptions item_description des 2 articles dont la somme des item_count ,est la plus élévé pour le département ayant comme description dept_description = 'Specialty Pastries'


    voici ma solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT i.item_Description, sum(f.item_count)
    FROM tbl_Bakery_Order_Facts f
    INNER JOIN tbl_Items i ON f.Item_ID = i.Item_ID
    INNER JOIN tbl_Departments d ON f.Department_ID = d.Department_ID
    INNER JOIN tbl_Promos p ON f.Promo_Code = p.Promo_Code
    where d.dept_description = 'Speciality Pastries'
    Merci



    Merci
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 636
    Billets dans le blog
    10
    Par défaut
    Voici comment avoir les 2 articles les plus fréquents pour chaque département
    Il suffit d'ajouter une restriction sur le(s) département(s) souhaité(s)

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    select * from     
      (select B.Department_ID
            , D.Dept_Description
            , B.Item_ID
            , I.Item_Description
            , count(*)
            , dense_rank() 
              over(partition by B.Department_ID, D.Dept_Description
                   order by count(*) desc
                  ) as RK
       from tbl_Bakery_Order_Facts B
       inner join tbl_Departments D
          on D.departement_id=B.departement_id
       inner join tbl_Items I
          on I.Item_ID=B.Item_ID
       group by D.departement_id
              , D.dept_Description
              , B.Item_ID
              , I.Item_Description
       order by B.Departement_ID
              , count(*) desc
      ) as sub
    where sub.RK < 3

    J'ai pu commettre quelques fautes dans les noms lors de la recopie

Discussions similaires

  1. Probleme SQL Query
    Par Seth77 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 01/06/2015, 15h32
  2. Probleme sql query
    Par AurelienNF dans le forum Langage
    Réponses: 5
    Dernier message: 14/09/2010, 19h48
  3. as400 sql/QUERY probleme de dates
    Par philswiss dans le forum Requêtes
    Réponses: 1
    Dernier message: 19/07/2007, 06h16
  4. Utilisation de l'apostrophe en SQL QUERY
    Par joshua.shamael dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 28/04/2005, 17h53
  5. Recherche Data pour m'exercer en SQL-Query
    Par Oneill dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 13/10/2004, 11h43

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