[ vujkev @ 23.09.2004. 08:24 ] @
Imam 2 tabele (Objekti i Dogadjaji) sa sledecom strukturom 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. |