Задавайте вопросы, мы ответим
Вы не зашли.
Всем доброе время суток, помогите пожалуйста с запросом. никак у меня не получается
есть таблица price
id tour_id room_id price_data price_price day
1 1 1 20111002 963.53 17
2 3 1 20111002 563.53 7
3 4 1 20111002 665.88 10
4 5 1 20111002 789.45 9
вторая таблица tour
tour_id tour_date hotel_id
1 20101220 4
2 20101220 1
3 20101220 3
4 20101220 1
5 20101220 26
и третья таблица hotel
hotel_id hotel_name hotel_country hotel_city hotel_stars
1 GERAKINA BEACH HOTEL Греция Халкидики-Ситония 3*
2 SITHONIA THALASSO & SPA Греция Халкидики-Ситония 4*
3 EKIES ALL SENSES RESORT Греция Халкидики-Ситония 4*
4 MELITON HOTEL Греция Халкидики-Ситония 5*
5 PORFI BEACH HOTEL Греция Халкидики-Ситония 3*
6 SURMELI HOTEL Турция Анкара 5*
...
26 DUSIT PRINCESS KORAT THA Бангкок 4*
27 EASTIN HOTEL MAKKASAN THA Бангкок 4*
28 IMM FUSION SUKHUMVIT THA Бангкок 3*
29 HILTON LONG BEACH RESORT Египет Hurgada 4*
30 CORAL BEACH ROTANA RESORT Египет Hurgada 4*
как правильно построить запрос, который зависит от диапазона цены (от 100 до 1500 таблица price), и от выбранных городов - анкара и бангкок(таблица hotel). Связь между этими таблицами только через таблицу tour в которой есть поле hotel_id
Это я так думаю что надо через LEFT JOIN, может правильно будет как то иначе Прошу любой помощи.
Отредактированно sbury (26.01.2011 13:44:33)
Неактивен
Да, только не надо использовать левые объединения там, где они не нужны.
SELECT ... FROM price JOIN tour USING (tour_id) JOIN hotel USING (hotel_id)
WHERE ...;
Ну и символ звездочки можно не хранить
Неактивен
WHERE ...;
извиняюсь за типизм , а здесь как надо записать... Очень прошу помочь по полям на моем примере. Иначе я так не разберусь...
Спасибо
Неактивен
прозреваю что WHERE price_price >=100 and price_price<=1500 and (hotel_city = "Анкакра" or hotel_city = "Бангкок")
Неактивен
работает!
Огромное спасибо! Первый раз в жизни у меня с вашей помощью заработал JOIN.
Еще раз всем огромное спасибо.
Неактивен