3

テーブルには、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' の場合、金額をマイナスに変換する必要があります)

4

3 に答える 3

4

これを試して:

SELECT AcctNo, 
       Dr_Cr,
       Amount, 
       CASE 
           WHEN Dr_Cr='D' THEN -1*Amount
           ELSE Amount 
       END AS Amount1 
FROM ACCOUNTS

ACCOUNTSテーブル名に置き換えます。

于 2013-04-04T03:49:42.970 に答える
0

これを行う最も簡単な方法はCASE、Amount 列を選択するときにステートメントを使用することです。

何かのようなもの:

SELECT ...., 
CASE WHEN Dr_Cr = 'D' THEN Amount*(-1) ELSE Amount END as Amount 
FROM ....
于 2013-04-04T03:46:12.487 に答える
0

あなたが使用することができます:

select
(CASE WHEN (amount) < 0 THEN 'Dr' ELSE 'Cr' END )Dr_Cr
from Your TableName
于 2016-12-31T08:26:04.157 に答える