MySQL ukladanie dat (pola) pre vyhladavanie

Programovacie jazyky, rady, poradňa...
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

MySQL ukladanie dat (pola) pre vyhladavanie

Príspevok od používateľa Boccaccio »

Ahojte,
mam tabulky "users" a "places".
V "users" su udaje o uzivateloch (id | meno | mail | visit).
V "places" su mesta SR (id | city).

Potreboval by som ulozit do "visit" ("users") pole / zoznam miest "id" ("places"), ktore dany user navstivil.
Nasledne budem potrebovat, aby sa dali vyhladat uzivatelia, ktory navstivili hladane mesta.
Cize napr. zadam "id" miest 1(BA) 2(BB) 3(KE) a najde mi to vsetkych userov, ktori maju ulozene okrem inych aj tieto tri mesta.

Rozmyslal som ukladat mesta do "visit" ("users") cez JSON / serialize, no neviem akoby som ich potom prehladaval.

Vopred dakujem. :plus:
lupoo
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 45
Registrovaný: 05 júl 2014, 13:33
Bydlisko: Poprad, Žilina
Kontaktovať používateľa:

Re: MySQL ukladanie dat (pola) pre vyhladavanie

Príspevok od používateľa lupoo »

prečo neurobíš M-N entitu medzi users a places ?
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: MySQL ukladanie dat (pola) pre vyhladavanie

Príspevok od používateľa Boccaccio »

lupoo napísal:prečo neurobíš M-N entitu medzi users a places ?
nuz ale ako by sa potom vyhladavalo?
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Re: MySQL ukladanie dat (pola) pre vyhladavanie

Príspevok od používateľa Nadeo »

Musis si spravit este jednu tabulku, kde budes ukladat id usera a id mesta ktore navstivil a obidva budu cudzie kluce samozrejme. Potom to uz len budes tahat pomocou mysql a nemusis sa j*bat s JSON a podobne..
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: MySQL ukladanie dat (pola) pre vyhladavanie

Príspevok od používateľa Boccaccio »

Nadeo napísal:Musis si spravit este jednu tabulku, kde budes ukladat id usera a id mesta ktore navstivil a obidva budu cudzie kluce samozrejme. Potom to uz len budes tahat pomocou mysql a nemusis sa j*bat s JSON a podobne..
a vies prosim ukazat, ako by som konkrente vyhladaval?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: MySQL ukladanie dat (pola) pre vyhladavanie

Príspevok od používateľa harrison314 »

Boccaccio napísal: a vies prosim ukazat, ako by som konkrente vyhladaval?
V "users" su udaje o uzivateloch (id | meno | mail | visit).
V "places" su mesta SR (id | city).
V "user_places" je (id, city_id,user_id).
A chces vyhladat vstekych, ktori su v miestach 1(BA) alebo 2(BB) alebo 3(KE).

Kód: Vybrať všetko

SELECT DISTINCT u.id, u.meno FROM userd AS u JOIN user_places AS up ON up.user_id=u.id WHERE up.city_id IN (1,2,3) 
alebo

Kód: Vybrať všetko

SELECT u.id, u.meno FROM userd AS u JOIN user_places AS up ON up.user_id=u.id WHERE up.city_id IN (1,2,3) GROUP BY u.id 
Napísať odpoveď