
#mysql #php #webdev #programowanie #pytanie
Tabele w relacji wiele do wielu. Jest to tylko przykład, podaję taki, bo łatwiej mi będzie zrozumieć. Kilka osób może mieć kilka przedmiotów- wiadomo. Pytanie brzmi, jak najefektywniej mam dokonywać selekcji danych w takich przypadkach i jak je obsłużyć do wyświetlania na stronie? Np. zbiór osób posiadających daną rzecz, czy zbiór rzeczy, które posiada dana osoba. Proszę o łatwe do zakumania wytłumaczenie :)
Osoba :
osobaid
imie
OsobaRzecz:
osobaid
rzeczid
Rzecz:
rzeczid
nazwarzeczy
Tabele w relacji wiele do wielu. Jest to tylko przykład, podaję taki, bo łatwiej mi będzie zrozumieć. Kilka osób może mieć kilka przedmiotów- wiadomo. Pytanie brzmi, jak najefektywniej mam dokonywać selekcji danych w takich przypadkach i jak je obsłużyć do wyświetlania na stronie? Np. zbiór osób posiadających daną rzecz, czy zbiór rzeczy, które posiada dana osoba. Proszę o łatwe do zakumania wytłumaczenie :)
Osoba :
osobaid
imie
OsobaRzecz:
osobaid
rzeczid
Rzecz:
rzeczid
nazwarzeczy
- Najlepsze
- Wszystkie komentarze







Resztę powiedział @weedget
*Indeksuj
*Nie wybieraj zbędnych pól
*Nie używaj MySQLa
A taką rzecz jak połączenie po kluczu obcym to chyba umiesz zrobić? :>
SELECT r.nazwarzeczy FROM OsobaRzecz or LEFT JOIN Rzecz r USING(rzeczid) WHERE or.rzeczid=
jak nie rozumiesz czegoś w tym zapisie to chyba jednak podstawy SQL się kłaniają...
wyciąganie rzeczy mając id osoby:
SELECT r.nazwarzeczy FROM OsobaRzecz or LEFT JOIN Rzecz r USING(rzeczid) WHERE or.osobaid=
w drugą stronę analogicznie
@weedget: Nie do końca, mógłbyś mnie oświecić? :) Przypuśćmy, że id osoby lub id przedmiotu mam już w zmiennej.