Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy skonstruwane tabele są odpowiednie do takiego rozwiązania
Forum PHP.pl > Forum > Bazy danych > MySQL
majweb
http://wrzucaj.net/image/ujE

Czy tak skonstruowane tabele zwrócą następujący wynik:
-pobierze z bazy i wyświetli listę adresów oraz kont wybranego klienta.

Jak to zapytanie miałoby wyglądaćquestionmark.gif
Forti
Wydaje mi się, że jedno zapytanie może nie wystarczyć, lub będzie bardzo duże wink.gif

w tabeli klient trzymaj id_adres i id_konto ( to już tam masz).

Wówczas podwójne left join załatwi sprawę.

Może kto inny poda lepsze rozwiązanie.


edit:

mozna zrobic manyToMany (czwartą tabele z id_klient id_adres id_konto).
majweb
Siedzę przy tym już dłuższą chwilę i pozbywam się resztek włosów i nie potrafię tego ogarnąć wink.gif
Turson
SELECT * FROM konto WHERE id_klient = 1
Serio?
majweb
Super pomogłeś mi..
Potrzebuje połączyć tak tabele żeby wyświetlać wszystkie rekordy w jednym zapytaniu a przykład, który podałeś no cóż..
aniolekx
wyrzuć z tabeli klient kolumnę id_konto

  1. SELECT *
  2. FROM klient
  3. LEFT JOIN konto USING(id_klient)
  4. LEFT JOIN adres USING(id_klient)
  5. WHERE id_klient = 1


niestety będą duplikaty (kombinacja kont i adresów), bo obydwie tabele są w relacji jeden do wielu.
majweb
Masz jakieś lepsze rozwiązanie dotyczące takiej sytuacji :
Każdy klient banku może posiadać wiele kont bankowych, które identyfikowane są za pomocą unikalnego numeru. Do informacji o koncie należą również saldo i nazwa rachunku nadana przez klienta. Klienci podają imię, nazwisko i numer PESEL. Każdy klient może występować w bazie tylko jeden raz, może za to zdefiniować kilka adresów kontaktowych (ulica, numer, kod pocztowy, miasto).

Chodzi żeby rozwiązać problem z duplikatami
aniolekx
a skąd wiesz ze duplikaty są problemem? z treści zadania wynika zenie ma powiązania pomiędzy kontem a adresem
majweb
Czyli te tabele i relacje są poprawne? To w takim razie jak te zapytanie miałoby wyglądać?
pmir13
Jeżeli adresy nie mają powiązania z kontami, to nie ma absolutnie żadnego racjonalnego powodu, by chcieć mieć obie listy w jednym wyniku. Chyba tylko jakiś nawiedzony nauczyciel akademicki bez faktycznego zawodowego doświadczenia może czegoś takiego zażądać, do tego tylko po to, by udowodnić że można, ale nawet do tego celu można wymyślić dużo bardziej pasujące dane. W tej chwili wygląda to tak, jakby ktoś chciał dostać listę miast w Peru i gatunków żab w Argentynie, ale w jednym zapytaniu, bo to ten sam kontynent.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.