Stefan Einspender: SQL-Abfrage - Ausgabe einer Summe zu verschiedenen Zeiträumen

Beitrag lesen

Hallo Cheatah,

name    2008-07-02   2008-07-03   2008-07-04
Heike   8            8            8
Igor    0            10           11
Tom     2            9            9

Die Kopzeile ist nur zum Verständnis, die braucht natürlich nicht mit aus-
gegeben werden.

unabhängig davon sind hier aber die Spalten abhängig von den Datenbankinhalten. Du kannst kein SQL-Statement formulieren, wenn Du die zu selektierenden Spalten nicht kennst; ergo benötigst Du entweder zwei Statements, um zunächst die Spalten zu ermitteln ...

naja, das Ergebnis der Spalte name ist ja klar (alle Einträge in der
Tabelle namen) und die drei Tagen sind einfach die letzten drei, ab-
steigend von heute. Sowas kann ich ja mit PHP zurückrechnen. Damit
sind die Spalten bekannt, bevor ich das SQL starte.

... oder Du ermittelst die Daten in anderen Dimensionen, als Du sie ausgeben willst. Ein Statement mit den Ergebnisspalten Datum, Name und Anzahl kann bei günstiger Sortierung verhältnismäßig leicht zu dieser Ausgabe umgeformt werden.

Obiges Ergebnis soll später tabellarisch dargestellt werden, wobei für
jeden Namen und jeden Tag etwas ausgegeben werden muß. Wenn da jetzt der
Eintrag für Igor am 2008-07-02 fehlt, läuft meine while-Schleife weiter
und es wird an dieser Stelle der Wert für 2008-07-03 ausgegeben, was ich
ja nicht will. Außerdem gibt es auch die Besonderheit, dass ich zum Teil
nur jeden zweiten oder dritten Tag ausgebe. Wenn ich da die drei von Dir
genannten Spalten habe, woher soll ich wissen, ob der Fehltag absichtlich
nicht enthalten ist (weil dieser nicht ausgegeben werden soll) oder ob es
da keinen Treffer gibt?!

Viele Grüße,
Stefan