Führen Sie die SQL -Funktion in einzelnen Spalte basierend auf mehreren Fremdschlüssel aus

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

Frage

Ich begegne dieses Problem, wenn ich versuche, ein dimensionales Datenbankdesign herauszufinden. Grundsätzlich habe ich eine Faktentabelle (sale_fact), die einen Ersatzschlüssel, mehrere ausländische Schlüssel (PID für Produkt -ID, CID für Länder -ID und Datum) und Verkaufsdaten enthält. Die Granularität oder dieser Tatsachentisch erfolgt täglich. Wie fasse ich die Verkaufsdaten für Wochen (oder Monate) zusammen, abhängig von verschiedenen Kombinationen dieser ausländischen Schlüssel? Zum Beispiel möchte ich in Land 1 in dieser Woche die Verkaufsdaten von Produkt 1 in Land 1 zusammenfassen (PID = 1 und CID = 1 und Datum = Montag), Verkaufsdaten von Produkt 2 in Land 2 in derselben Woche (PID = 2 und CID = 2 und Datum = Montag). Wie erhalte ich diese Daten in einem SQL? Das Beispielergebnissatz wäre wie:

    | 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
War es hilfreich?

Lösung

Warum verwenden Sie nicht so etwas wie ausgewählte Summe (Verkäufe) als "Gesamt" aus Tabelle, wobei Datum = Montag Groupby PID, CID ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top