Hallo zusammen.
Ich habe ein Problem, und zwar habe ich eine Tabelle, in der Schulen mit ID und Name stehen
Diese Schulen geben jedes Jahr eine Statistik ab, so dass die andere Tabelle so aussieht:
Jetzt hab ich ne Abfrage gemacht, die mir immer die Aktuellste Statistik gibt, wenn die Schule in der Verzeichnissliste steht:
So weit, so gut. Ging relativ schnell. Jetzt will ich aber noch alle anderen Werte der Jahresstatistik haben, wodurch das GROUP BY nicht mehr funktioniert.
Habe jetzt mit nem CONCAT die NR und das Statistikjahr zusammengeführt, und wähle aus den Jahresstatistiken jetzt alle Spalten aus, deren CONCAT-Wert mit dem der anderen Abfrage übereinstimmt
Das funktioniert auch, ist aber irgendwie meiner meinung nach nicht sehr schick, und könnte bestimmt besser gelöst werden, da ich aber schon zu lange über dem Problem hänge, komme ich da einfach nicht weiter.
Sieht da jemand auf anhieb ne bessere Lösung?
MfG
Uplink
Ich habe ein Problem, und zwar habe ich eine Tabelle, in der Schulen mit ID und Name stehen
Code:
Tabellenname: Verzeichniss NR Name Land 1 Schule 1 Deutschland 2 Schule 2 Deutschland 4 Schule 4 Deutschland
Code:
Tabellenname: Jahresstatistiken NR SchulNR Statistikjahr Lehrergesamt Schülergesamt 1 1 2006 12 260 2 2 2006 23 500 3 1 2007 23 235 4 1 2008 120 3467 5 3 1999 13 452 6 3 2004 23 768
Code:
SELECT SchulNR, MAX(Statistikjahr) FROM Jahresstatistik WHERE SchulNR IN (SELECT NR FROM verzeichniss) GROUP BY NR NR MAX(Statistikjahr) 1 2008 2 2006
Habe jetzt mit nem CONCAT die NR und das Statistikjahr zusammengeführt, und wähle aus den Jahresstatistiken jetzt alle Spalten aus, deren CONCAT-Wert mit dem der anderen Abfrage übereinstimmt
Code:
SELECT * FROM Jahresstatistiken WHERE CONCAT(CONCAT(SchulNR, ' '), Statistikjahr) IN ( SELECT CONCAT(CONCAT(SchulNR, ' '), MAX(Statistikjahr)) FROM Jahresstatistiken WHERE SchulNR IN (SELECT NR FROM verzeichniss) GROUP BY NR )
Das funktioniert auch, ist aber irgendwie meiner meinung nach nicht sehr schick, und könnte bestimmt besser gelöst werden, da ich aber schon zu lange über dem Problem hänge, komme ich da einfach nicht weiter.
Sieht da jemand auf anhieb ne bessere Lösung?
MfG
Uplink
Comment