Hey Amigos, wie geht's?
Ich habe hier 2 Tabellen (in einer sqlite3 Datenbank):
Die Tabelle `ids` kombiniert ID Nummern mit Firmennamen und `umsaetze` die Umsatzzahlen, wobei hier zum Primärschlüßel 'id' und 'monat' gehören, weil eine Firma in mehreren Monaten Umsatz haben kann (natürlich). Eigentlich ist 'monat' im Format "YYYY.MM" gespeichert, als REAL, damit es sich schneller bearbeiten läßt. 'anzahl' speichert die Anzahl Rechnungen.
Jetzt möchte ich eine Abfrage machen, die folgende Ergebnisattribute hat:
Es sollen also einerseits die 'id's mit den 'name'n verknüpft werden, und anderseits alle 'umsatz'e und 'anzahl'en pro kunde summiert und die Monate gezählt werden.
Folgendes funktioniert:
Das funktioniert bestens, deucht mir aber etwas umständlich. Deshalb meine Frage: Soll man es so machen, zuerst gruppiern (mit einer View) und dann joinen oder ist es umgekehrt besser, zuerst zu joinen und dann erst zu gruppiern?
Vielen Dank für eure Antworten!
Gruß,
/dev
Ich habe hier 2 Tabellen (in einer sqlite3 Datenbank):
Code:
ids: id integer name VARCHAR(64) umsaetze: id INTEGER monat REAL umsatz INTEGER anzahl INTEGER
Jetzt möchte ich eine Abfrage machen, die folgende Ergebnisattribute hat:
Code:
ergebnis: id name umsatz anzahl anzahl_monate
Folgendes funktioniert:
Code:
CREATE VIEW 'usz' AS SELECT id, COUNT(monat) AS 'anzahl_monate', SUM(umsatz) AS 'umsatz', SUM(anzahl) AS 'anzahl' FROM umsaetze GROUP BY id; SELECT ids.id AS 'id', name, umsatz, anzahl, anzahl_monate FROM ids LEFT JOIN usz ON (usz.id=ids.id)
Vielen Dank für eure Antworten!
Gruß,
/dev
Comment