W gangs mamy przyk?adowe 2 gangi:
ID=1, color FFFFFF
ID=2 color FFFF00
W zones mamy przyk?adow? stref?:
id= 34 miny=1785.03 minx=-2259.5 maxy=1981.03 maxx=2063.5 active=1
W zones_gangscore, tabeli kt?ra odpowiada za "respekt" dzielnicy. Gangi zdobywaj? dzielnic?, poprzez przebywanie na niej. Jedna minuta przebywania na dzielnicy powoduje zwi?kszenie respektu o 1. Przyk?adowo Gang 1 przebywa na dzielnicy 10 minut, ma 10 respektu. Gang 2 przebywa 5 minut, ma 5 respektu. Przyk?ad w zones_gangscore
id_zone=34 id_gang=2 respect=5
id_zone=34 id_gang=1 respect=10
Mamy zapytanie SQL:
Zwraca:
Zapytanie ma pobra? dzielnice gangowe oraz gang, kt?ry w tej dzielnicy "zarobi?" najwi?cej respektu. Jak pisa?em wy?ej, Gang 1 (kolor #FFFFFF) ma 10 respektu, a gang 2 (kolor #FFFF00) ma 5 respektu. S?k w tym, ?e mimo sortowania od najwi?kszej liczby respektu (ORDER BY zgs.respect DESC), bierze ten gang, kt?ry ma najmniej respektu.
Oczekiwany wynik:
Ostatnio zmieniony przez KacperCL 2017-12-21, 18:31, w całości zmieniany 1 raz
U?y?em dok?adnie takie samo zapytanie jak poda?e?, zwr?ci?o mi dobry wynik (gang 1). ?eby si? upewni?, ?e wybiera gang 1, doda?em dodatkowo do zapytania ID gangu
Wynik
Ostatnio zmieniony przez Combacior 2017-12-22, 12:09, w całości zmieniany 2 razy
Faktycznie, u mnie na localhoscie zapytanie zwraca dobry wynik (WAMP, MySQL 5.6.17) a sprawdzi?em na bazie danych od liveserver, to zwraca inaczej. To powinno dzia?a?
Je?li s? dwie kolumny o takich samych nazwach w r??nych tabelach, to wystarczy da? nazw? tabeli albo alias przed nazw? kolumny (nazwa_tabeli.nazwa_kolumny), znasz to u?ycie, bo go u?ywasz w niekt?rych zapytaniach. Og?lnie z tego co widz?, to strasznie kombinujesz - ograniczasz si? do u?ywania LEFT JOIN ... ON. Mog? zrozumie?, ?e tylko to znasz, ale wystarczy poszuka? w google. Opr?cz LEFT JOIN jest tak?e RIGHT JOIN, OUTER JOIN, STRAIGHT_JOIN a tak?e INNER_JOIN, kt?rego ja u?y?em, aby do??czy? kolor gangu. Tak samo nie wszystkie zapytania JOIN musz? zawiera? klauzul? ON, bo jest tak?e klauzula HAVING.
Zapytanie to ju? mia?em gotowe jak pisa?em poprzedni post, ale chcia?em zobaczy? czy chocia? sam pr?bowa?e? to zrobi? czy czeka? na gotowe.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach