我的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
,依此类推。我是对的还是我在这里犯了大错?提前谢谢!