我正在运行这个查询,它填充我的临时表,然后我从中导出。 priceSingle 只需将票价加倍即可计算得出。但是,对于某些行,该类别无论如何都是单程票价,所以我不想加倍。查询实际上嵌入在 PHP 中的字符串中,但 SQL 看起来像:
INSERT INTO temp
SELECT cruises.code AS sailingId, live, 'USD', 'optioncode', 'rateOptionName', '2',
category AS cabinCategory, fare*2 AS priceSingle, fare AS priceDouble,
supplements_usa.adult AS priceAdditional
FROM fares_usa, supplements_usa, cruises
WHERE fares_usa.cruise_id = supplements_usa.cruise_id
AND cruises.id = fares_usa.cruise_id AND cruises.live = 'Y'
当 category
等于 5 或 10 时,如何避免执行 fare*2
?
最佳答案
CASE WHEN category = 5 OR category = 10 THEN fare ELSE fare * 2 END
关于php - 如果另一个字段等于 5 或 10,则不要乘以一个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10352995/