这是一个演示查询,注意它非常简单,仅在 base_price 为 0 的情况下获取,
但它仍然选择条件 3:
SELECT
CASE course_enrollment_settings.base_price
WHEN course_enrollment_settings.base_price = 0 THEN 1
WHEN course_enrollment_settings.base_price<101 THEN 2
WHEN course_enrollment_settings.base_price>100 AND
course_enrollment_settings.base_price<201 THEN 3
ELSE 6
END AS 'calc_base_price',
course_enrollment_settings.base_price
FROM
course_enrollment_settings
WHERE course_enrollment_settings.base_price = 0
base_price
is decimal(8,0)
当在我的数据库上运行它时,我得到:
3 0
3 0
3 0
3 0
3 0
去除course_enrollment_settings.base_price
之后立马CASE
:
SELECT
CASE
WHEN course_enrollment_settings.base_price = 0 THEN 1
...
END
CASE
有两种不同的形式,详见manual。在这里,您需要第二种形式,因为您正在使用搜索条件.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)