問題:
給定一個包含事務詳細資訊的資料庫表,是嗎?可以產生兩列“收入金額”和“費用金額”,根據是否存在分隔交易金額它們使用 SQL 查詢表示收入或支出?
解決方案:
是的,使用MySQL 中的CASE 語句,可以有條件地填充列,將列分隔開基於提交的“action_type”的金額。
這是一個實作的範例查詢this:
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;
此查詢使用 CASE 語句來評估「action_type」欄位。如果“action_type”是“Income”,則它將“action_amount”的值指派給“income_amt”並將“expense_amt”設為NULL。相反,如果“action_type”為“Expense”,則將“action_amount”的值賦給“expense_amt”,並將“venue_amt”設為NULL。
如受訪者所述,MySQL 也提供了 IF( ) 函式作為 CASE 語句的替代。然而,與 MySQL 特定的 IF() 函數相比,CASE 語句由於其跨不同資料庫引擎的可移植性而成為首選。
以上是MySQL的CASE語句可以將交易金額分成收入欄位和支出欄位嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!