![]() |
![]() |
![]()
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:
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 9.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście, zapytanie lepsze. Tyle, że wyciąga mi zduplikowane rekordy w sytuacji jeżeli występuje wiele par pojedynczego `a` z różnymi `b`. Nie wiem jak to się ma do wydajności.
Załóżmy, że `a` to `pracownicy` a `b` to ich `pozytywne_cechy`. Teraz chcemy wyciągnąć listę pracowników i przy każdym zobaczyć listę ich pozytywnych cech. Czy obrabianie takich danych powinno się odbyć na poziomie PHP po otrzymaniu wyników podanego zapytania, czy też na poziomie SQL z zastosowaniem jakiegoś sprytnego zapytania. -- Pozdrawiam MM Jak by wyglądało takie zapytanie z SELECT DISTINCT? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 14:32 |