Einzelnen Beitrag anzeigen
Alt 08.03.2010, 12:04   #8
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

es geht ja um oracle-sql

ich hab zum testen die tabelle mit folgenden spalten angelegt:
ID
PERS_ID
ZUSTAND
BEARBEITER
ZEITSTEMPEL

und die query funktioniert dann so:

Code:
select *
from TABELLE t1
where decode(t1.zustand,
             4, 4,
             2, 3,
             1, 2,
             128, 1, 
             0) = (select max(decode(t2.zustand,
                                     4, 4,
                                     2, 3,
                                     1, 2,
                                     128, 1,
                                     0))
                   from TABELLE T2
                   where t2.pers_id = t1.pers_id
                     and t2.zustand in (4,2,1,128)
                  )
                ;
sorry, hat zwar etwas länger gedauert, aber dafür haben mein kollege und ich das problem gelöst und die lösung auch getestet
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.

Geändert von pc.net (11.03.2010 um 12:29 Uhr).
pc.net ist offline   Mit Zitat antworten