我在我的查询中添加了一个百分比计算(%_SOLD - SOLD占FOUND的百分比 - 第3行),该查询在一定程度上工作但是当SOLD返回为NULL时返回IFNULL值而不是0.00。 / p>
IFNULL(ROUND((SUM(CASE WHEN ((rows.type = 3) OR (rows.name = 'Labour')) THEN rows.price END)),2),0.00) AS FOUND,
IFNULL(ROUND((SUM(CASE WHEN (((rows.type = 3) OR (rows.name = 'Labour')) AND rows.status = 'A') THEN rows.price END)),2),0.00) AS SOLD,
IFNULL(ROUND((((SUM(CASE WHEN (((rows.type = 3) OR (rows.name = 'Labour')) AND rows.status = 'A') THEN rows.price END))*100.0)/(SUM(CASE WHEN ((rows.type = 3) OR (rows.name = 'Tyre Labour')) THEN rows.price END))),2),'na') AS '%_SOLD'
这是我得到的输出:
"FOUND" "SOLD" "%_SOLD"
"269.86" "0.00" "na"
"0.00" "0.00" "na"
第2行正确返回IFNULL值,因为FOUND和SOLD均为0.00,但我需要第1行返回计算结果(0.00)而不是IFNULL值。
我尝试将在查询的前两行中使用的IFNULL 0.00插入到百分比计算中,但它不起作用。
请帮助,谢谢!