Effectuez la fonction SQL sur une colonne unique en fonction de plusieurs clés étrangères

StackOverflow https://stackoverflow.com/questions/19826766

Question

Je rencontre ce problème en essayant d'élaborer une conception de base de données dimensionnelle. Mesialement, j'obtiens une table de faits (Sale_fact) qui contient une clé de substitution, plusieurs clés étrangères (PID pour l'ID de produit, CID pour l'ID et la date du pays) et les données de vente. La granularité ou ce tableau de faits est quotidiennement. Comment résumer les données de vente pendant des semaines (ou des mois), selon différentes combinaisons de ces clés étrangères? Par exemple, je souhaite résumer les données de vente du produit 1 dans le pays 1 de cette semaine (PID = 1 et CID = 1 et date = lundi), données de vente du produit 2 dans le pays 2 dans la même semaine (PID = 2 et cid = 2 et date = lundi). Comment réaliser ces données en un seul SQL? L'ensemble de résultats de l'exemple serait comme:

    | id | pid | cid |     date     | total |
    | 1  |  1  |  1  |  2013-11-04  |   100 |
    | 2  |  1  |  2  |  2013-11-04  |  90   |
    | 3  |  1  |  3  |  2013-11-04  |  80   |
    | 4  |  2  |  1  |  2013-11-04  |  91   |

......more data
Était-ce utile?

La solution

Pourquoi n'utilisez-vous pas quelque chose comme SELECT SUM (ventes) comme «Total» de la table où Date = lundi groupby pid, cid ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top