読み取り専用アクセス権を持つデータベースの 1 つの列の値の名前を変更しようとしています。また、2 つの値を 1 つに結合したいと考えています。SQL CASE クエリを使用していますが、値が正しく変換されません。ここに私のSQLがあります:
SELECT
DATE(appraisal.created_time),
appraisal_steps.title,
Count(appraisal.appraisal_id),
case appraisal_steps.title
when "archive" then "A_Archived"
when "on_sale" then "J_Selling"
when "under_evaluation" then "F_Evaluating"
when "evaluated" then "H_Appraisal Complete"
when "pending" then "B_Pending"
when "crap" then "C_Not For Lofty"
when "waiting_internal_expert_evaluation" then "D_Unclaimed"
when ("expert_needs_information" OR "admin_needs_information") then "E_Waiting"
when "seller_answered_to_expert_question" then "G_Needs_Attn"
when "ready_to_be_sold" then "I_Ready"
else "wtf"
end as Status
FROM
appraisal
INNER JOIN appraisal_steps ON appraisal.`status` = appraisal_steps.step_id
WHERE
appraisal.powersale = 0
GROUP BY
DATE(appraisal.created_time),
appraisal_steps.title
ORDER BY
appraisal_steps.title DESC, status
結果は一部のステータス (複数のステータスですか? :) では正しいですが、seller_answered_to_expert_question は「E_Waiting」に変換されますが、これは正しくありません。
「When」句の順序を変更すると、別の統計が機能し、機能しなくなります。
私は何を間違っていますか?