[ 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? |
[ vbvlada @ 20.08.2010. 13:24 ] @
[ 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??
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|