Вот демонстрационный запрос, обратите внимание, что это очень просто: выборки только там, где 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
decimal(8,0)
Когда вы запускаете это в моей БД, я получаю:
3 0
3 0
3 0
3 0
3 0