Aufzählung im SQL-Query anhand eines Schlüsselfeldes
-
Hallo Forum,
ich habe folgende Datenbankeinträge:
# | p_id | q_id | a_id
-----------------------
1 | 23 | 79 | 10
2 | 23 | 79 | 11
3 | 23 | 79 | 12
4 | 23 | 80 | 230
5 | 23 | 80 | 231
6 | 23 | 80 | 232Ich bräuchte aber nun folgende Ausgabe:
# | p_id | q_id | a_id | order
------------------------------
1 | 23 | 79 | 10 | 1
2 | 23 | 79 | 11 | 2
3 | 23 | 79 | 12 | 3
4 | 23 | 80 | 230 | 1
5 | 23 | 80 | 231 | 2
6 | 23 | 80 | 232 | 3D.h., dass ich die Reihenfolge zählen will anhand der q_id-Spalte.
Bei selber q_id wird einfach eins hochgezählt.Ich habe es schon mit "UNION" und "GROUP BY" versucht...hat aber nicht geklappt :-(!
Danke für die Antworten!
Grüße
-
Tja, SQL ist eben nicht berechnungsvollständig. Kannst Du das nicht auf App-Ebene lösen oder zur Not eine Stored Proc?
-
Ja, ich habe es jetzt in der Anwendung gelöst...
Wäre halt ne "schönere" Lösung gewesen, wobei man "schön" sehen kann wie man will!
Trotzdem merci!
-
würde das nicht auch so gehen:
select ,(select count()+1 from table a where a.q_id = b.q_id and a.a_id < b.a_id) from table b order by p_id,q_id,a_id;
diese # ist ja wahrscheinlich keine spalte, oder?
sonst könnte man danach sortieren...ist ungetestet, klappts?