【发布时间】:2014-07-01 19:42:11
【问题描述】:
我有以下用于加载 codes 表的 case 语句。我必须找到加载到 codes 表中的记录数 当 [gli-src] = '8'
时 TRAN_CODE = 7INSERT INTO codes
SELECT CASE
WHEN [cash-amt] > 0 THEN '1'
WHEN [prod-n] = '42'
AND [tran-code] IN ( '-1', '-2', '-3' ) THEN '17'
WHEN [gli-src] = '8' THEN '7'
WHEN [prod-n] = '42'
AND [gli-src] = 'L'
AND [tran-code] IN ( '1', '2', '3' ) THEN '7'
WHEN [gli-src] = 'L'
AND [prod-n] = '60'
AND [tran-code] IN ( '4', '5', '6' ) THEN '7'
ELSE '4'
END AS TRAN_CODE
FROM txn
这是我尝试过的,虽然我很困惑如何过滤掉其他案例条件。
select COUNT(1) from txn
where [CASH-AMT] <= 0
and
.
.
.
. ????
and [gli-src] = '8'
【问题讨论】:
标签: sql sql-server operators case conditional-statements