在MySQL 中使用Case 語句填充條件列
使用資料庫表時,通常需要建立動態填入的新列資料根據具體情況而定。 MySQL 提供了 CASE 語句,讓使用者有條件地評估列值並為其賦值。
考慮一個場景,其中存在一個名為「tbl_transaction」的表,其中包含事務 ID、操作類型(費用或收入)、標題等欄位和金額。目標是產生兩個附加列:收入金額和費用金額,應根據交易類型填入適當的金額。
要使用SQL 查詢實現此目的,可以使用CASE 語句:
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;
此查詢評估每筆交易的action_type 列,並根據其值將相應的金額分配給收入金額或支出金額柱子。當操作為“收入”時,action_amount 分配給“收入金額”,而對於“費用”,則將其分配給“費用金額”。對於既不是收入也不是支出的操作,將為兩列分配 NULL。
因此,查詢會產生一個包含所需列的輸出表,其中每行包含交易 ID、標題、收入金額 (如果適用),以及費用金額(如果適用)。這樣可以根據交易類型輕鬆分析和分類。
以上是如何使用 CASE 語句填入 MySQL 中的條件列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!