Sim, algo assim:
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;
Como outras respostas apontaram, o MySQL também possui o
IF()
função para fazer isso usando uma sintaxe menos detalhada. Eu geralmente tento evitar isso porque é uma extensão específica do MySQL para SQL que geralmente não é suportada em outros lugares. CASE
é SQL padrão e é muito mais portátil em diferentes mecanismos de banco de dados, e prefiro escrever consultas portáteis o máximo possível, usando apenas extensões específicas do mecanismo quando a alternativa portátil for consideravelmente mais lento ou menos conveniente.