Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tabele referencyjne i relacje many-to-many
maciej.m
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.02.2008

Ostrzeżenie: (0%)
-----


Witam,

Mam problem, z którym już pewnie się spotkaliście. Otóż dla dwóch tabel: a i b stworzyłem tabelę referencyjną x. W tabeli b ma się tak do tabeli a, że każdemu rekordowi z a może odpowiadać jeden lub kilka rekordów z b. Do określenia tej relacji służy tabela x, która zawiera pary a.id i b.id. Praktyczne zastosowanie tej struktury ma wyglądać tak, że przy wyciąganiu rekordów z tabeli a, do każdego takiego rekordu powinno być przyporządkowane jeden lub więcej rekordów z b. Pytanie w jaki sposób to praktycznie zrobić, żeby było jak najbardziej optymalnie i wydajnie.

Dla tego przykładu teraz mógłbym wykonać jedno zapytanie:
  1. SELECT * FROM `x` LEFT JOIN `a` ON (a.id = x.a_id) LEFT JOIN `b` ON (b.id = x.b_id);


Takie zapytanie oczywiście dawałoby mi zduplikowane rekordy z `a` z różną wartością pól dołączonych z `b`.

Mógłbym też wyciągać pojedyncze rekordy z `a` i dla każdego z nich stosować osobne zapytanie o pary, w których występuje z `b`

Czy macie na to jakieś praktyczne rozwiązanie?

--
Pozdrawiam
MM
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 01:14