次のクエリがあります。
SELECT COUNT( * ) AS offer_count
FROM restaurants_offers
WHERE DATE( NOW( ) )
BETWEEN date_start
AND date_end
AND restaurant_id =1
ここで、 count がゼロより大きい場合、クエリ結果として count ではなく、true
elseを選択します。false
どうやってするか?
次のクエリがあります。
SELECT COUNT( * ) AS offer_count
FROM restaurants_offers
WHERE DATE( NOW( ) )
BETWEEN date_start
AND date_end
AND restaurant_id =1
ここで、 count がゼロより大きい場合、クエリ結果として count ではなく、true
elseを選択します。false
どうやってするか?
これを試して:
SELECT IF(COUNT(*) > 0, 'true', 'false') AS NewResult
FROM restaurants_offers
WHERE (DATE(NOW()) BETWEEN date_start AND date_end) AND
restaurant_id = 1
SELECT COUNT( * ) > 0 AS has_offers
FROM restaurants_offers
WHERE DATE( NOW( ) )
BETWEEN date_start
AND date_end
AND restaurant_id =1
SELECT case when COUNT(*) > 0
then 1
else 0
end AS offer_count
FROM restaurants_offers
WHERE DATE( NOW( ) )
BETWEEN date_start
AND date_end
AND restaurant_id =1
true
または、言葉が必要な場合はfalse
SELECT case when COUNT(*) > 0
then 'true'
else 'false'
end AS offer_count
...