[ vbvlada @ 20.08.2010. 13:24 ] @
Imam tabelu koja pamti GPS lokacije ljudi koje pratim u nekom događaju.
Tabela Pracenje: id(PK),id_korisnik, id_dogadjaj, geo_sirina, geo_duzina;

Kako da izvučem trenutne pozicije svih učesnika tog događaja?
[ djoka_l @ 20.08.2010. 13:39 ] @
Nikako, ne valja ti model.

Uz pretpostavku da je ID strogo rastući (što nije dobra pretpostavka) može ovako

Code (sql):

SELECT p.*
FROM pracenje p, (
          SELECT MAX(id) id, id_korisnik, id_dogadjaj
          FROM pracenje
          GROUP BY id_korisnik, id_dogadjaj) m
WHERE p.id=m.id
  AND p.id_korisnik = m.id_korisnik
  AND p.id_dogadja = m.id_dogadjaj
 
[ vbvlada @ 20.08.2010. 13:43 ] @
Kasno sam se setio kako da izvučem podatke prilikom projektovanja baze :)
Imam varijantu i da ne pamtim celu istoriju kretanja, pa bih onda radio update postojećih redova, ali to je možda malo bezveze...

Koji je predlog za izmenu modela?
[ Zidar @ 20.08.2010. 14:01 ] @
Tabela Pracenje: id(PK),id_korisnik, id_dogadjaj, geo_sirina, geo_duzina;

A da dodas mozda Datum_Ivreme_zapsivanja_dogadjaja, DateTime?
[ vbvlada @ 20.08.2010. 14:04 ] @
Ovaj, zaboravio sam da imam i datum_vreme zapisivanja svakog učesnika, tj. svaka GPS koordinata ima datum i vreme snimanja...
[ Zidar @ 20.08.2010. 15:34 ] @
Imas datum? Cool :-)

Onda u Djokinom kveriju umesto gledanja u ID gledaj u datume. Onaj kveri sto je nazvan "m" izracunava poslednji (maximalni) datum-vreme za svakog ucesnika. Onda to spojis sa listom uceniska po tom maximalnom datumu i dobijes sto ti treba.

:-)
[ vbvlada @ 20.08.2010. 16:17 ] @
Yeah!
Super, hvala vam!
Nisam baš vešt sa sql upitima, srećan sam kada uradim neki malo komplikovaniji join :)
[ vbvlada @ 21.08.2010. 14:06 ] @
Uradio sam max (datum_vreme) ali mi izbacuje prva dva reda (pratim dva korisnika), a ne poslednja dva... Why??