dedlfix: SQL-Select-Statement

Beitrag lesen

Tach!

Kann mir jemand die richtige Richtung weisen?

Erstmal klein anfangen. In welche Teilaufgaben kann man denn die Aufgabe zerlegen? Die einfachste ist, eine Liste der Options zu bekommen, denn das ist sowohl ein Teil, der im Ergebnis stehen soll, als auch die Grundlage für die Ergebnismenge, zu der dann die zusätzlichen Daten ermittelt werden sollen.

SELECT options FROM zweite_Tabelle

Der nächste Schritt muss für "m1" die Anzahl aller Montagswerte, die Anzahl aller Dienstagswerte, und so weiter ermitteln. Und das in gleicher Weise für jeden Eintrag auf der ersten Teil-Query. Man könnte das mit 5 korrelierten Subselects machen, für jeden Wochentag eins.

SELECT option,
  (SELECT COUNT(monday) FROM ein_Tabelle WHERE monday = zT.option) monday, 
  (SELECT COUNT(tuesday) FROM ein_Tabelle WHERE tuesday = zT.option) tuesday,
  ... 
FROM zweite_Tabelle zT

Funktioniert, fertig. Zeig es nur niemandem, es sieht nicht besonders toll aus.

Kann man die Subquerys nicht irgendwie in eine zusammenfassen? Gruppieren der "ein Tabelle" nach options geht nicht, weil du für jeden Wochentag eine eigene Gruppierung brauchst, was 5 Abfragen ergibt. 5 Abfragen haben wir schon in der ersten Lösung, und noch dazu einfacher als mit Gruppierung. Hmm, fällt mir jetzt auch nichts schöneres ein. Vielleicht doch Lösung Nummer eins?

dedlfix.