![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mamy tabelki:
1) hotels: ID, name 2) floors: hotels_ID_FK, floor_number 3) rooms: floors_ID_FK, space 4) addreses: hotels_ID_FK, city, street, house_number Każdy z hoteli może mieć wiele pięter i wiele pokojów na każdym piętrze. Każdy z hoteli może mieć też więcej niż jeden adres np. przy ulicy Kolejowej i Dworcowej jeśli leży na skrzyżowaniu ulic (nie jest to typowa interpretacja adresu).
Zapytanie powinno zwracać listę hoteli w Sopocie przy ulicy Dworcowej i sumę powierzchni pokojów w każdym z hoteli. Jeśli suma powierzchni pokoi w hotelu jest mniejsza od 100 m hotel nie powinien znaleźć się w wynikach wyszukiwania. Problem pojawia się, gdy hotel ma więcej niż jeden adres - w takim przypadku suma jest zawyżona i co za tym idzie konstrukcja HAVING działa nie poprawnie. Jak poprawić zapytanie aby grupowanie w każdym przypadku działało poprawnie? I kolejne pytanie: Jeśli do powyższego zapytania dodamy warunki
(interesują nas tylko hotele o powierzchni powyżej 100 m zlokalizowanej pomiędzy piętrami 3 i 10) w jaki sposób wybrać tylko te hotele w przypadku których powierzchnia znajduje się tylko na piętrach sąsiadujących tzn. np. piętro 4: 50 m piętro 5: 25 m piętro 6: 26 m a nie: piętro 4: 50 m piętro 7: 60 m ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 4.09.2010 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:03 |