是的,像这样:
SELECt id, action_heading, CASE WHEN action_type = 'Income' THEN action_amount ELSE NULL END AS income_amt, CASE WHEN action_type = 'Expense' THEN action_amount ELSE NULL END AS expense_amtFROM tbl_transaction;
正如其他答案所指出的那样,MySQL还具有
IF()使用较少冗长语法的功能。我通常尝试避免这种情况,因为它是MySQL的特定于MySQL的扩展,其他地方通常不支持。
CASE是标准的SQL和更加便携跨越不同的数据库引擎,我喜欢写便携查询尽可能,只利用发动机的特定扩展,当便携式选择是 相当 慢或不太方便。



