Hallo,
Ich habe folgendes Problem:
Ich habe eine Liste:
ID | Name |Version|
1 | Bernd| 1 |
2 | Klaus | 2 |
3 | Klaus | 2 |
4 | Klaus | 4 |
5 | Klaus | 4 |
6 | Klaus | 4 |
7 | Bernd| 2 |
8 | Bernd| 2 |
9 | Heinz| 1 |
10 | Klaus| 3 |
11 | Klaus| 3 |
Nun möchte ich die Spalten [Name] und [Version] in der Reihenfolge der [ID] per Abfrage nummerieren:
ID | Name |Version|Num]
1 | Bernd| 1 | 1 |
2 | Klaus | 2 | 2 |
3 | Klaus | 2 | 2 |
4 | Klaus | 4 | 3 |
5 | Klaus | 4 | 3 |
6 | Klaus | 4 | 3 |
7 | Bernd| 2 | 4 |
8 | Bernd| 2 | 4 |
9 | Heinz| 1 | 5 |
10 | Klaus| 3 | 6 |
11 | Klaus| 3 | 6 |
Kann mir da bitte jemand helfen, ich krieg es nicht hin. :-\
Beste Grüße
Bernd
Man kann es sich auch schwer machen mit einer etwas verqueren Aufgabenstellung, und bei ein paar mehr Daten solltest Du keine Wunderdinge von der Performance erwarten:
SELECT
T.ID,
T.Name,
T.Version,
Q.Num
FROM
tblP AS T
INNER JOIN
(
SELECT
A.Name,
A.Version,
(
SELECT
Count(*)
FROM
(
SELECT
Min(ID) AS MinID,
Name,
Version
FROM
tblP
GROUP BY
Name,
Version
) AS B
WHERE
B.MinID < A.MinID) + 1 AS Num
FROM
(
SELECT
Min(ID) AS MinID,
Name,
Version
FROM
tblP
GROUP BY
Name,
Version
) AS A) AS Q
ON
(T.Version = Q.Version)
AND
(T.Name = Q.Name)
MfGA
ebs
Super, vielen Dank.