Hallo,
ich steht vor einem kleinem Problem. Ich hoffe Ihr könnte mir dazu ein paar Tipps geben.
Meine Tabellenstruktur ist wie folgt:
Tabelle:
FACH
ZEIT
SPALTE
WERT
Die Felder SPALTE, ZEIT und FACH bilden einen Index (nicht Primär!)
Im Feld Spalte steht z.B. 1 bzw 2. Jetzt möchte ich die ersten 20 Einträge sortiert nach FACH anzeigen. Allerdings kommt dazu das die Spalten (1 und 2) nebeneinander gestellt werden sollen.
Sprich:
SELECT WERT FROM Tabelle ORDER BY FACH LIMIT 0,20
=> Geht nicht: da ich dann nicht 20 Werte aus Spalte 1 und 20 Werte aus Spalte 2 bekomme.
Alternative:
Zwei Abfragen:
-
SELECT WERT FROM Tabelle WHERE Spalte=1 ORDER BY FACH LIMIT 0,20
-
SELECT WERT FROM Tabelle WHERE Spalte=2 ORDER BY FACH LIMIT 0,20
=> Geht nicht: Da die 20 Werte aus Spalte 2 ggf. ganz andere Fächer sind die nicht in Spalte 1 sind.
Kann mir jemand helfen das Problem zu lösen?
Hier nochmal eine Beispieltabelle und das Ergebnis:
FACH, ZEIT, SPALTE, WERT
Mathe, 1, 1, 12
Deutsch, 1, 1, 12
Deutsch, 1, 2, 22
Ergebnis:
Deutsch, 12, 22
Mathe, 12, 0
Die Spalte Zeit hat hier nichts zu sagen also nicht verwirren lassen.