Fortlaufende Nummer in Abfrage mit Kriterien
udu
Gesendet: 28.09.12 16:09
Betreff: Fortlaufende Nummer in Abfrage mit Kriterien


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




Top of the page Bottom of the page