パーセンテージ計算 (%_SOLD - FOUND のパーセンテージとしての SOLD - 以下の 3 行目) をクエリに追加しましたが、これはある程度機能していますが、SOLD が NULL として返される場合に 0.00 ではなく IFNULL 値を返します。
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 行目は FOUND と SOLD の両方が 0.00 であるため IFNULL 値を正しく返していますが、1 行目では IFNULL 値ではなく計算結果 (0.00) を返す必要があります。
クエリの最初の 2 行で使用されている IFNULL 0.00 をパーセンテージ計算に挿入しようとしましたが、うまくいきませんでした。
助けてください、ありがとう!