如何在查询MySQL中选择部分使用嵌套IF?
我这样做,但它没有工作
这是代码:
SELECT *, IF(`view_price_trp` <= 0 ,IF(`view_price_sgl` > 0,
(((`tour_package`.`view_dbl` * 2) + (`tour_package`.`view_sgl`)+
(`tour_package`.`view_dbl` * 2)) + ((`tour_package`.`price_b`))), NULL) ,
(((`tour_package`.`view_trp` * 3)+(`tour_package`.`view_dbl` * 2)) +
((`tour_package`.`price_b`)))) As sumFieldPrice FROM `tbl_price` WHERE
((`tour_package`.`id` IN ('1420', '1421') HAVING (`sumFieldPrice` >= 10) AND
(`sumFieldPrice` <= 1900) AND (`sumFieldPrice` <> NULL)
我有疑问如何在此查询中实现NULL 我使用它是这样的:(sumPriceField&lt;&gt; NULL)但在那之后,没有任何返回值
这些查询是真的吗? 我们可以在MySQL中使用嵌套吗?
答案 0 :(得分:2)
您无法通过Operator检查NULL值。你可以在mysql中使用IS NULL来检查它。你需要替换
`sumFieldPrice` <> NULL
带
`sumFieldPrice` IS NOT NULL
我正在考虑条件是否正确关闭,因为它未在此处正确关闭。