テーブルには、AcctNo、Dr_Cr、Amount 1111、C、1000 1111、D、500 の列があります。
列 Dr_Cr には、D、C の 2 つの値しかありません
次の AcctNo、Dr_Cr、Amount、Amount1 1111、C、1000、1000 1111、D、500、-500 を出力するクエリを探します。
(つまり、Dr_Cr = 'D' の場合、金額をマイナスに変換する必要があります)
テーブルには、AcctNo、Dr_Cr、Amount 1111、C、1000 1111、D、500 の列があります。
列 Dr_Cr には、D、C の 2 つの値しかありません
次の AcctNo、Dr_Cr、Amount、Amount1 1111、C、1000、1000 1111、D、500、-500 を出力するクエリを探します。
(つまり、Dr_Cr = 'D' の場合、金額をマイナスに変換する必要があります)
これを試して:
SELECT AcctNo,
Dr_Cr,
Amount,
CASE
WHEN Dr_Cr='D' THEN -1*Amount
ELSE Amount
END AS Amount1
FROM ACCOUNTS
ACCOUNTS
テーブル名に置き換えます。
これを行う最も簡単な方法はCASE
、Amount 列を選択するときにステートメントを使用することです。
何かのようなもの:
SELECT ....,
CASE WHEN Dr_Cr = 'D' THEN Amount*(-1) ELSE Amount END as Amount
FROM ....
あなたが使用することができます:
select
(CASE WHEN (amount) < 0 THEN 'Dr' ELSE 'Cr' END )Dr_Cr
from Your TableName