已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
5个月前关闭。
Improve this question
我尝试使用CASE函数检查discount_price
列是否大于0,如果是,则选择discount_price >= 60
所在的所有内容,否则选择price >= 60
所在的所有内容。
但由于某种原因,我得到了一个语法错误。
错误:
Something is wrong with the used syntax ')
我的疑问:
SELECT * FROM `product_variants` WHERE
(CASE WHEN `discount_price` > 0 THEN (SELECT * FROM product_variants WHERE discount_price >= 60) ELSE (SELECT * FROM product_variants WHERE price >= 60))
我做错了什么?我用的是mysql
1条答案
按热度按时间6kkfgxo01#
我认为您不需要case语句,所有内容都可以包含在一个具有某种逻辑的查询中:
假设
discount_price
不能为负,则第二个条件可以是(discount_price = 0 AND price >= 60)
。编辑:正如@Tim Biegleisen所说,(折扣价格〉0和折扣价格〉= 60)没有意义,修复了这个问题。