Vimes: Frage zu SQL-Formulierung

Beitrag lesen

Moin,

Mit UNION kannst du mehrere Abfragen aneinander kleben.

Soweit ich dein Problem aber verstanden habe, willst du aus der Tabelle Monatsumsatz einzelne Datensätze selektieren.

Was spricht also gegen
SELECT * FROM  Monatsumsatz where (KeyMonat BETWEEN Key_für_Januar AND Key_für Juni) AND Jahr=Key_für_2003

SQL-Vergleichoperatoren siehe http://www.mysql.de/doc/de/Comparison_Operators.html

Willst du statt/(zusätzlich zu) den Keys die eigentlichen Bezeichnungen nehmen, mußt du JOIN's verwenden

SELECT Monat.*, MU.* FROM  Monatsumsatz AS MU INNER JOIN Monat ON Monat.Monat=MU.MonatKey where (MU.Monat BETWEEN Key_für_Januar AND Key_für Juni) AND MU.Jahr=Key_für_2003

Mit AS kannst du Aliase definieren, die die Schreibweise etwas verkürzen.

Aggregierte Werte, also z.B. den Monatsumsatz gibt es mit SUM und GROUP BY, also

SELECT Monat,SUM(Erlös) FROM  Monatsumsatz GROUP BY Monat

obwohl ich hier nicht sicher bin, dass sich SQL mit dem ö nicht schwer tut.

so long