Wpis z mikrobloga

#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

Osoba
Rzecz:

osobaid

rzecz
id

Rzecz:

rzeczid

nazwa
rzeczy
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wheezy123: generalnie to odpowiedź na Twoje oba pytania jest w tabeli OsobaRzecz. Jeśli wybierzesz z niej wiersz(e) po polu osobaid to będziesz miał zbiór rzeczy posiadanych przez daną osobę, jeśli wybierzesz z niej wiersz(e) po polu rzecz_id to będziesz miał zbiór osób posiadających tę rzecz...

A taką rzecz jak połączenie po kluczu obcym to chyba umiesz zrobić? :>
  • Odpowiedz
@wheezy123: przez chwilę kusiło mnie aby pojechać elektrodą, ale niech stracę... ;)

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ą...
  • Odpowiedz
@weedget: Chodziło mi o wyciąganie imion, posiadając idrzeczy lub wyciąganie nazw rzeczy, posiadając idosoby... Fakt, jestem zielony i nie widzę, jak Twoje zapytanie ma się do tego?
  • Odpowiedz
@wheezy123: fakt mój błąd ;)

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
  • Odpowiedz