Witam, mam pewien problem z bazą danych. Otóż stworzyłem sobie kilka tabel. Klienci, adres_firmy, asortyment, kategoria, itd. Problem polega na tym, że kiedy chcę wyświetlić dane z dwóch tabel to zaczyna mi się wszystko powielać. Każdy klient łączy się z każdym adresem itd. I nie wiem dlaczego tak się dzieje. Tworzyłem te tabele już na kilka różnych sposobów i cały czas występuje ten sam problem... Dodałem do primary key uniqe index, ale nic to nie dało. Macie może jakieś pomysły? W załączniku screen jak to mniej więcej wygląda. Dodam jeszcze tylko, że w tabelach mam 5 klientów i 5 adresów, oraz każdy klient ma przypisany tylko 1 adres.
Poczytaj o poleceniu SQL "join" i je zastosuj
Robiłem także z inner joinem i to samo niestety :/
Jak wyglądają tabele i jak robiłeś złączenie?
W załączniku screeny z tego jak stworzyłem tabele.
To jeszcze napisz, jak robiłeś złączenie tych tabel.
No tabele połączyłem ze sobą kluczem obcym- id_adres. Jest to widoczne na tym screenie.
Złączenie w SQL to nie jest powiązanie jednej tabeli z drugą kluczem obcym. Złączenie to join, i może dotyczyć jednej, dwóch lub większej ilości tabel.
Przepraszam, zrozumiałem, że chodzi o sposób złączenia tabel ze sobą :D Ale to złączenie jest widoczne w załączniku w moim pierwszym poście. Ale próbowałem zrobić też złączenie w sposób, który jest w załączniku, a efekt jest taki jak widać...
Po co tam te =1?
Żeby wyświetliło mi miejscowość tylko klienta z numerem id=1
Źle troszkę do tego podchodzisz:
Select kolumny from tabela1 (inner) join tabela2 on tabela1.kolumna = tabela2.kolumna where tabela2.kolumna = pożądana wartość
PS. Kod wstawiaj pisany, a nie w formie obrazków.
O Jezu, ale ja głupi jestem.... Dobrze dziękuję bardzo za pomoc :)
A jeszcze mam jedno pytanie. Czy mając połączone tabele tak jak w załączniku mogę wyświetlić sobie wszystkich producentów produkujących np. Telewizory? Bo kombinowałem podobnie jak robiłem to z tymi klientami, ale coś mi nie wychodzi, bo wyświetla tylko jednego producenta. A wszystko chyba przez to, że musi być ON JEDEN.ID=DWA.ID :/
@Edit
Już sobie poradziłem z problemem, jeszcze raz bardzo dziękuję :)