![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
mam 3 tabele...
tabela1: id, nazwa tabela2: id, nazwa, tabela1 tabela3: id, nazwa, tabela1, tabela2 Są one połączone relacjami tak, że: niektóre rekordy z tabela1 mają odpowiadające im rekordy w tabela2 (relacja: tabela1.id=tabela2.tabela1) a z kolei niektóre rekordy z tabela2 mają odpowadające im rekordy w tabela3 (relacja: tabela2.tabela1=tabela1.id, tabela3.tabela1=tabela2.tabela1 i tabela3.tabela2=tabela2.id ...) No i teraz mam problem np. z wyszukaniem po polu nazwa tak by można było wyświetlić w lićie wyników: tabela1.nazwa -gdy brak dowiązanych rekordów z tabela2 tabela1.nazwa > tabela2.nazwa -gdy brak dowiązanych rekordów z tabela3 i tabela1.nazwa > tabela2.nazwa > tabela3.nazwa -gdy wszystkie 3 tabele są połączone wspólnymi rekordami ...bo jak dam: to mi sieczka wychodzi - niby jasne bo relacji tu brak. -w zasadzie nawet tam gdzie nie powinno w t2naz albo t3naz nic pokazywać jednak coś jest. Ale jak dodam ww. relacje to mi ładuje tylko to gdzie jest ona pełna a nie ładuje np. tych gdzie np. tabela1 albo tabela2 nie ma dowiązanych rekordów z tabeli podrzędnej. Jak to rozwiązać? Ten post edytował neverever 10.09.2007, 21:53:19 -------------------- neverever
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj i pokombinuj z INNER JOIN, OUTER JOIN, LEFT INNER JOIN i podobnymi - to taki trochę inny sposób łączenia tabel niż ty zastosowałeś (niektóre tolerują, jak ty to określasz, "brak relacji" po jednej, lub po obu stronach), no i jeszcze IS NULL. Poszukaj.
![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 00:09 |