majweb
19.12.2014, 11:31:33
http://wrzucaj.net/image/ujECzy 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ć
Forti
19.12.2014, 11:34:51
Wydaje mi się, że jedno zapytanie może nie wystarczyć, lub będzie bardzo duże

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
19.12.2014, 11:38:54
Siedzę przy tym już dłuższą chwilę i pozbywam się resztek włosów i nie potrafię tego ogarnąć
Turson
19.12.2014, 11:42:07
SELECT * FROM konto WHERE id_klient = 1
Serio?
majweb
19.12.2014, 12:30:52
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
19.12.2014, 13:12:41
wyrzuć z tabeli klient kolumnę id_konto
SELECT *
FROM klient
LEFT JOIN konto USING(id_klient)
LEFT JOIN adres USING(id_klient)
WHERE id_klient = 1
niestety będą duplikaty (kombinacja kont i adresów), bo obydwie tabele są w relacji jeden do wielu.
majweb
19.12.2014, 13:29:40
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
19.12.2014, 13:49:12
a skąd wiesz ze duplikaty są problemem? z treści zadania wynika zenie ma powiązania pomiędzy kontem a adresem
majweb
19.12.2014, 14:24:55
Czyli te tabele i relacje są poprawne? To w takim razie jak te zapytanie miałoby wyglądać?
pmir13
19.12.2014, 17:07:49
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.