'SELECT' ステートメントの 'IF' - 列の値に基づいて出力値を選択する 質問する

'SELECT' ステートメントの 'IF' - 列の値に基づいて出力値を選択する 質問する
SELECT id, amount FROM report

かつである必要amountがあります。これを上記のクエリに追加するにはどうすればよいですか?amountreport.type='P'-amountreport.type='N'

ベストアンサー1

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

見るフロー制御関数

さらに、条件が null の場合も処理できます。金額が null の場合:

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

この部分は、amount が null でない場合は amount を返し、そうでない場合は 0 を返すことIFNULL(amount,0)を意味します。

おすすめ記事