如果在 mysql

If in Where mysql

我的 table 有 2 列

A​​:价格

乙:g_Price

逻辑规则: IF (价格 > 0) OR (g_price > 0) select 行

BUT IF (g_price > 0 AND price > 0 AND g_price > price ) THEN 不 select 行

你可能会使用像

这样的东西
SELECT * FROM yourTable WHERE 
   (price > 0 OR g_price > 0)
   AND NOT (g_price > 0 AND price > 0 AND g_price > price))

这将 select 所有匹配条件 (price > 0 OR g_price > 0) 的行并排除匹配 g_price > 0 和 price > 0 和 g_price > 价格。

翻译成SQL:

select *
from tablename
where (price > 0 OR g_price > 0)
  AND NOT (g_price > 0 AND price > 0 AND g_price > price)