1. ホーム
  2. mysql

[解決済み] SELECT' 文の 'IF' - カラムの値に基づいて出力値を選択する

2022-03-14 11:50:13

質問

SELECT id, amount FROM report

必要なのは amount になります。 amount もし report.type='P'-amount もし report.type='N' . 上記のクエリにこれを追加するにはどうすればよいでしょうか。

どのように解決するのですか?

SELECT id, 
       IF(type = 'P', amount, amount * -1) as amount
FROM report

参照 http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html .

さらに、条件がNULLである場合の処理も可能です。金額がNULLの場合

SELECT id, 
       IF(type = 'P', IFNULL(amount,0), IFNULL(amount,0) * -1) as amount
FROM report

部分 IFNULL(amount,0) というのは 金額がNULLでない場合return amount else return 0 .