一个表有以下列 AcctNo, Dr_Cr, Amount 1111, C, 1000 1111, D, 500
Dr_Cr 列只有两个值 D,C
查找将输出以下 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
查找将输出以下 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
在选择“金额”列时使用声明。
就像是:
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