私は少し長い選択をして、多くのテーブルに参加しています。私がする必要があること: 私は最低価格を選択しています
SELECT MIN(accomodation_price.price) AS price_from
price_from で結果を注文するまで、すべてがうまく機能します。ORDER BY price_from を使用できないことはわかっているので、ORDER BY MIN(accomodation_price.price) を使用しようとしましたが、CASE で使用したいと考えています。私の選択はうまく機能しますが、MIN(accomodation_price.price) の値を持たない最初の結果を適用します...最初に何らかの値を持つ結果が必要です...
これが私のコードです.MIN ....の行は機能していません。理由はわかりません。WHERE IS NOT NULL も使用しようとしましたが、同じです....
ORDER BY
CASE
WHEN accomodation.valid_to>=NOW() AND accomodation.valid_from<=NOW() THEN 0
WHEN NOW()>accomodation.valid_to AND accomodation.valid_to!='0000-00-00' THEN 1
WHEN MIN(accomodation_price.price) > '0' THEN 2
ELSE 3 END";