MySQL CASE语句不起作用

时间:2018-02-13 12:15:52

标签: mysql

我的CASE声明有问题吗?如果第一个WHEN子句有效则会中断,对吧?或者我很想念完整一点。这是我的查询

SELECT `product`.* 
FROM `product` 
LEFT JOIN `productLang` 
ON `product`.`id` = `productLang`.`product_id`
WHERE (
    `product`.`active` = 1 
    AND (
        `productLang`.`title` LIKE '%a%' 
        OR `productLang`.`description` LIKE '%a%'
    ) 
AND 
    (
        CASE 
        WHEN `product`.`cat_id`<>0 THEN `product`.`cat_id`=367
        WHEN `product`.`parent`<>0 THEN `product`.`parent`=367
        WHEN `product`.`grand_parent`<>0 THEN `product`.`grand_parent`=367
        END
    )
)
AND (`language`='bg') GROUP BY `product`.`id`

如果第一个WHEN条件为true,那么它将检查product.cat_id=367,第二个是true,然后是product.parent=367,依此类推。我是对的还是我在这里犯了大错?提前谢谢!

0 个答案:

没有答案