Also habe ich versucht habe hier über dieses eine ähnliche Frage zu finden. Einen, der sich genau bezieht, nicht sehen.
Ich habe eine Tabelle, die Verkaufsdaten nach Bundesland hat. Die Daten sind so organisiert;
SELECT * FROM SALES_BY_STATE;
PRODUCTGROUP SALES STATE MONTH YEAR
PRODUCTGROUP1 1000 A JAN 2016
PRODUCTGROUP1 1000 B JAN 2016
PRODUCTGROUP1 1000 F JAN 2016
PRODUCTGROUP1 1000 G JAN 2016
PRODUCTGROUP1 1000 H JAN 2016
PRODUCTGROUP1 1000 I JAN 2016
PRODUCTGROUP1 1000 J JAN 2016
PRODUCTGROUP1 1000 K JAN 2016
PRODUCTGROUP2 1000 A JAN 2016
PRODUCTGROUP2 1000 B JAN 2016
PRODUCTGROUP2 1000 C JAN 2016
PRODUCTGROUP2 1000 D JAN 2016
PRODUCTGROUP2 1000 E JAN 2016
PRODUCTGROUP2 1000 F JAN 2016
PRODUCTGROUP2 1000 G JAN 2016
PRODUCTGROUP2 1000 H JAN 2016
PRODUCTGROUP2 1000 I JAN 2016
PRODUCTGROUP2 1000 J JAN 2016
PRODUCTGROUP2 1000 K JAN 2016
Ich habe 11 Zustände (A - K). Ich möchte eine Anweisung erstellen, die die Status anzeigt, unabhängig davon, ob eine zugehörige Zeile für diesen Status vorhanden ist. Wie Sie in den obigen Daten sehen können, hat PRODUCT2 einen Datensatz für den Zustand A - K. In PRODUCTGROUP1 fehlen jedoch einige.
Ich möchte die Daten extrahieren und wie folgt anzeigen;
PRODUCTGROUP SALES STATE MONTH YEAR
PRODUCTGROUP1 1000 A JAN 2016
PRODUCTGROUP1 1000 B JAN 2016
PRODUCTGROUP1 0 C JAN 2016
PRODUCTGROUP1 0 D JAN 2016
PRODUCTGROUP1 0 E JAN 2016
PRODUCTGROUP1 1000 F JAN 2016
PRODUCTGROUP1 1000 G JAN 2016
PRODUCTGROUP1 1000 H JAN 2016
PRODUCTGROUP1 1000 I JAN 2016
PRODUCTGROUP1 1000 J JAN 2016
PRODUCTGROUP1 1000 K JAN 2016
PRODUCTGROUP2 1000 A JAN 2016
PRODUCTGROUP2 1000 B JAN 2016
PRODUCTGROUP2 1000 C JAN 2016
PRODUCTGROUP2 1000 D JAN 2016
PRODUCTGROUP2 1000 E JAN 2016
PRODUCTGROUP2 1000 F JAN 2016
PRODUCTGROUP2 1000 G JAN 2016
PRODUCTGROUP2 1000 H JAN 2016
PRODUCTGROUP2 1000 I JAN 2016
PRODUCTGROUP2 1000 J JAN 2016
PRODUCTGROUP2 1000 K JAN 2016
Macht das Sinn? Ich möchte grundsätzlich den Zustand im Ergebnis zeigen, unabhängig davon, ob es im Datensatz eine verwandte Zeile gibt.
Nicht sicher, wie ich darüber gehen würde. Jede Hilfe würde sehr geschätzt werden.
Dies ist ein sehr nicht-triviales Problem. Ich denke, dass Sie eine Art "Kalender" -Tabelle erstellen müssten, die alle Zustände enthält, und dann würden Sie etwas dynamisches SQL benötigen, um die fehlenden Aufzeichnungen zu erzeugen. Ich glaube nicht, dass nicht-dynamisches SQL das kann, weil die Beziehung zwischen Produktgruppen und Zuständen in vielen Fällen Ihres Datensatzes einfach nicht existiert. –
Danke Tim, vielleicht muss ich ein Programm schreiben, um die fehlenden Datensätze in die Tabelle zu schreiben? – stevenbranigan82