| |
| Hallo zusammen
Ich komme gleich nochmals mit einer Frage. Die fortlaufende Nummer in einer Abfrage ist ja immer wieder eine Frage, zu der es auch viele und korrekte Antworten gibt. Hier wieder meine Ausgangssituation:
Tabelle uduTest
oid artikel preis status
1 Jacke 120 1
2 Hose 80 9
3 Pullover 60 1
4 Tshirt 20 1
Nun mache ich die folgende Abfrage, dich ich so im Internt gefunden habe:
SELECT uduTest.oid, (Select Count (*) FROM [uduTest] as X WHERE [X].[oid] < [uduTest].[oid])+1 AS LaufNummer, uduTest.artikel, uduTest.preis, uduTest.status
FROM uduTest;
Das funktioniert auch schön und bringt das folgende Ergebnis:
oid LaufNummer artikel preis status
1 1 Jacke 120 1
2 2 Hose 80 9
3 3 Pullover 60 1
4 4 Tshirt 20 1
Jetzt möchte ich aber nur die Bestellungen mit dem Status "1" und passe die Abfrage wie folgt an:
SELECT uduTest.oid, (Select Count (*) FROM [uduTest] as X WHERE [X].[oid] < [uduTest].[oid]+1 And [uduTest].[status]=1) AS LaufNummer, uduTest.artikel, uduTest.preis, uduTest.status
FROM uduTest
WHERE uduTest.status = 1;
Jetzt sieht der Output so aus:
oid LaufNummer artikel preis status
1 1 Jacke 120 1
3 3 Pullover 60 1
4 4 Tshirt 20 1
Die Laufnummer ist nicht mehr aufsteigend, mit der Hose ist auch die "2" verschwunden ;-). Wo ist mein Denkfehler?
LG Urs
| |
|