Citat:
CandyMan: Rešenje:
Voleo bih da vidim Branimirovo rešenje...
Candy, drago mi je da vidim da razmisljas na pravi nacin, i da se zahvalim na izvanrednom resenju koje si postavio.
Namerno sam u nekoj od prethodnih poruka u ovoj temi postavio resenje koje je izazvalo razlicite reakcije ( naravno, to mi je i bio cilj ) , na kraju krajeva i cemu sluze ovakvi forumi ako se ne bi diskutovalo, i voleo bih, iskreno da vidim sto vise odgovora na jedan postavljeni zadatak.
Reakcije su bile ovakve ili onakve, ali da ne duzim vise , evo mog konacnog resenja za "modifikovani zadatak".
Dakle , da podsetim, potrebno je "vratiti" poslednjih x pojavljivanja Obj a iz sekvencijalne tabele. U ovom slucaju je , dakle x = 2.
Code:
SELECT id, [obj]
FROM test AS t
WHERE t.[id]
IN
(SELECT TOP 2 tmp.[id] FROM test tmp WHERE tmp.obj = t.obj order by [id] DESC)
ORDER BY [obj], [id] DESC
Tvoje resenje ,priznajem, ima prednost u odnosu na moje u smislu da je nezavisno od SQL sistema ( da podsetim, TOP X nije bas 100% standardno).
Pozdrav