好的,关于使用CASE功能的一个简单问题。不知道我是否能够按照下面的示例中所示的方式使用它,但我想根据区域和银行代码使用它。有人可以帮助解决这方面的语法。
表: BankInfo :
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
答案 0 :(得分:3)
由于您使用的是两列,因此需要将其更改为:
SELECT
PayeeName, BankCode,
CASE
WHEN dbo.BankInfo.district = 333 AND BankCode = 101
THEN '79999'
END as BankTransit
答案 1 :(得分:0)
一个通用的Northwind示例:
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
如果区和/或BankCode是int,则删除单引号。