1

好的,只是一个关于使用 CASE 函数的简单问题。不确定我是否能够按照下面示例中的方式使用它,但我想根据地区和银行代码使用它。有人可以协助这样做的语法。

表:银行信息

 BankCode      PayeeName        District
   101          John Doe           333
   101          Doe John           233
   100          Jane Doe           333

询问:

SELECT 
    PayeeName, BankCode
   ,CASE dbo.BankInfo.district
         WHEN 333 and BankCode = 101 THEN '79999'
    END as BankTransit
4

2 回答 2

3

由于您使用的是两列,因此您需要将其更改为:

SELECT 
    PayeeName, BankCode,
    CASE 
       WHEN dbo.BankInfo.district = 333 AND BankCode = 101 
       THEN '79999'
    END as BankTransit
于 2013-05-20T16:24:33.617 回答
0

一个通用的罗斯文示例:

Select
CustomerID , PostalCode ,
[MyMatch] = 
CASE
    When CustomerID = 'ALFKI' and PostalCode = '12209' then 1
    else 0
END

 from [dbo].[Customers]

Order by 3 DESC ,1,2

并翻译........我有一个别名“MyDerived1Value”。和一个“其他”声明。

Select
PayeeName, BankCode , 
[MyDerivedValue] = 
CASE
    When District = '333' and BankCode = '101' then '79999'
    else null
END

 from [dbo].BankInfo

Order by 3 DESC ,1,2

如果 District 和/或 BankCode 是 int,则删除单引号。

于 2013-05-20T19:38:46.760 回答