2016-12-08 2 views
1

Я хочу, чтобы вернуть все рейсы между с датой вылета больше или равна определенной даты, например, 2016-12-09 и меньше или равно 2016-12-11Mysql Multiple И внутреннее соединение

Я хочу, чтобы включить все аэропорты отправления, которые имеют «Лондон» в названии аэропорта и всех аэропортах прибытия, которые имеют «Чарльз» или «Орли» в названии аэропорта. Когда я запускаю этот запрос, я не получаю никаких результатов.

ответ

1

Вы можете использовать OR между проверками аэропорта прибытия, а не AND.

WHERE departure.airport_name_en LIKE '%London%' 
AND (arrival.airport_name_en LIKE '%Charles%' 
    OR arrival.airport_name_en LIKE '%Orly%') 
AND departure_date BETWEEN '2016-12-09' AND '2016-12-11' 

AND требует как условия, чтобы быть правдой, но если название аэропорта не что-то вроде Charles de Orly International, он не будет иметь как Charles и Orly в нем. Вы даже сказал, что это правильно вопрос:

прибытия аэропортов, которые имеют "Чарльза или«Орли»в названии аэропорта

Убедитесь, что вы используете круглые скобки, когда вы смешиваете AND и OR условия , потому что приоритет - это не то, что вы ожидаете.

+0

Спасибо большое, что это сработало !!! – dcraven

Смежные вопросы