![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuje pomocy przy powiązaniu dwoch tablic:
kategorie id | kategoria 1 | apartament 2 | dom mieszkalny 3 | budynek jednorodzinny 4 | wieżowiec 5 | mieszkanie ...... miejscowosci id | miejscowosc 1 | warszawa 2 | poznan 3 | wroclaw 4 | oborniki 5 | Komorniki nieruchomosci id | mid | kid |nazwa | [oznaczają odpowiednio id oferty | id miejscowosci | id_kategorii] 1 | 1 | 2 |Apartament 34 m2 w Warszawie 2 | 2,4,5 | 1,5 |Mieszkanie w okolicy Poznania Przy założeniu ze dla danej oferty nieruchomości można wybrac tylko jedną kategorię i jedną miejscowość powiązanie tych tabel wygladaloby następująco (jak w przypadku pierwszego wiersza w tabeli nieruchomosci): Select nieruchomosci.id, nazwa, miejscowosc, kategoria from nieruchomosci, kategorie, miejscowosci where nieruchomosci.mid=miejscowosci.id and nieruchomosci.kid=kategorie.id To zapytanie w przypadku pierwszym zwróci wynik: 1, Apartament 34m2 w Warszawie, Warszawa, apartament A jak wykonać zapytanie aby powiązać drugi wiersz (możliwość wielokrotnego wyboru miejscowosci i kategorii), aby dała wynik 2, Mieszkanie w okolicy Poznania, Poznań,Oborniki,Komorniki, apartament,mieszkanie Zakładam, że można wybrać kilka miejscowosci i kilka rodzajów Nie chciałbym tworzyć dodatkowych kolumn dla dodatkowych miejscowosci i dodatkowych kategorii w bazie nieruchomosci: np mid1, mid2, mid3, kid1, kid2, kid3. Czy można skonstruować takie zapytanie przy zaprezentowanej przeze mnie strukturze tabeli i polach? czy bedzie ono optymalne. Co proponujecie? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:09 |