OBJEKTI:
1. ID
2. Naziv
3. ......
DOGADJAJI:
1. ID
2. IdObjekta
3. TipDogadjaja
4. Datum
5. Vreme
6. ......
Potrebno mi je da iz tabele "Dogadjaji" za svaki objekat izvucem poslednji dogadjaj tipa "0" i maksimalno dva dogadjaja koja su upisana posle zadnjeg dogadjaja tipa "0". Naravno na taj rezultat treba da dodam podatke iz tabele Objekti tako da objekti.ID=Dogadjaji.IdObjekta.
Evo ga primer trazenog rezultata
Objekti.ID Objekti.naziv Dogadjaji.ID Dogadjaji.TipDogadjaja Dogadjaji.Datum
--------------------------------------------------------------------------------
1 Objekat1 45 0 23.09.2004
1 Objekat1 50 1 23.09.2004
1 Objekat1 87 8 23.09.2004
2 Objekat2 11 0 12.05.2004
2 Objekat2 154 5 20.09.2004
3 Objekat3 254 0 23.09.2004
5 Objekat5 55 0 12.03.2003
....
a sad objasnjenje:
Objekat1 je imao dogadjaj "0" dana 23.09.2004 i dogadjaje tipa 1 i 8 malo kasnije istog dana (to se vidi po vremenu i po ID-u dogadjaja)
Objekat2 je imao dogadjaj "0" dana 12.05.2004, i samo jedan dogadjaj nekog drugog tipa posle tog datuma
Objekat3 je imao dogadjaj "0" dana 23.09.2004 i nijedan drugi dogadjaj posle tog datuma
Objekat4 nije nikad imao dogadjaj tipa "0" tako da se ne pojavljuje u rezultatu
Objekat5 je imao dogadjaj........ itd. Nadam se da ste shvatili problem.
Trenutno ovaj problem resavam tako sto otvorim bazu Objekti i za svaki objekat pretrazujem bazu dogadjaji za tip "0". Ako nadjem tip "0" onda opet otvorim bazu dogadjaji i trazim sledeca 2 dogadjaja posle onog sa tipom "0".
Ovo sigurno moze da se resi dva query-a, ali me interesuje da li moze da se resi samo sa jednim query-em.
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Da je važnije biti ljubazan nego biti u pravu