У меня есть запрос, который должен выбирать самые низкие значения price_per_pax_after_tax
из каждых backend_hotels_id
date_start
и package_supplier
, и это работает до тех пор, пока я не добавлю предложение WHERE.
Вотquery:
SELECT e.price_per_pax_after_tax, e.hotel_score, e.package_id, e.package_type
FROM packages_sorted_YQU e
INNER JOIN (
SELECT db_id, MIN( price_per_pax_after_tax ) AS lowest_price, package_id, hotel_score
FROM `packages_sorted_YQU`
WHERE `package_type` IN ('9', '10', '18')
AND `package_duration` IN ('6', '8', '12')
GROUP BY
`date_start` , `package_supplier` , `backend_hotels_id`
) AS j
ON j.db_id = e.db_id
AND j.lowest_price= e.price_per_pax_after_tax
AND j.hotel_score = e.hotel_score
AND j.package_id = e.package_id;
Таблица огромна, но все перечисленные поля имеют значение INT, кроме date_start
, то есть DATE
Предложение where, вызывающее проблему:
WHERE `package_type` IN ('9', '10', '18')
AND `package_duration` IN ('6', '8', '12')
Без предложения where я получаю более 400 результатов, а с предложением where я получаю ноль результатов :( Любая помощь будет очень признательна.