Ja, något sånt här:
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;
Som andra svar har påpekat har MySQL också IF()
funktion för att göra detta med mindre utförlig syntax. Jag försöker i allmänhet undvika detta eftersom det är en MySQL-specifik tillägg till SQL som inte stöds generellt någon annanstans. CASE
är standard SQL och är mycket mer portabel över olika databasmotorer, och jag föredrar att skriva portabla frågor så mycket som möjligt, endast genom att använda motorspecifika tillägg när det portabla alternativet är avsevärt långsammare eller mindre bekvämt.