在select query mysql中使用嵌套IF

时间:2017-09-26 10:38:22

标签: php mysql

如何在查询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中使用嵌套吗?

1 个答案:

答案 0 :(得分:2)

您无法通过Operator检查NULL值。你可以在mysql中使用IS NULL来检查它。你需要替换

`sumFieldPrice` <> NULL 

`sumFieldPrice` IS NOT NULL

我正在考虑条件是否正确关闭,因为它未在此处正确关闭。