Да, нещо подобно:
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_amt
FROM tbl_transaction;
Както се посочва в други отговори, MySQL също има IF()
функция, за да направите това, използвайки по-малко подробен синтаксис. Обикновено се опитвам да избягвам това, защото това е специфично за MySQL разширение към SQL, което обикновено не се поддържа другаде. CASE
е стандартен SQL и е много по-преносим в различни машини за бази данни и предпочитам да пиша преносими заявки колкото е възможно повече, само като използвам специфични за двигателя разширения, когато преносимата алтернатива е значителна по-бавно или по-малко удобно.