SELECT (CASE
WHEN 1944.0000 >= country_from_price
AND 1944.0000 <= country_to_price
THEN ((1944.0000 + ((1944.0000 * country_percentage)/100)))
ELSE 1944.0000
END
)
FROM `country_markup`
WHERE estatus = '1'
AND country_id REGEXP '[[:<:]]138[[:>:]]'
以上查詢返回值增加了百分比,但如果條件不滿,填充比返回NULL。我要的是,如果查詢返回NULL值比它應該返回1944.0000 爲此我曾嘗試下面的代碼,但沒有得到任何成功嵌套mysql情況下
SELECT IF((SELECT (CASE
WHEN 1944.0000 >= country_from_price
AND 1944.0000 <= country_to_price
THEN ((1944.0000 + ((1944.0000 * country_percentage)/100)))
ELSE 1944.0000
END
) as f1
FROM `country_markup`
WHERE estatus = '1'
AND country_id REGEXP '[[:<:]]223[[:>:]]') IS NOT NULL, f1 ,1944.0000) as final_price
在此先感謝
你能發佈樣本數據和預期結果嗎? –
請檢查這個[鏈接] sqlfiddle.com/#!2/c49df0/1 –