我在这里有一个非常简单的问题。我正在将一些Access SQL脚本转换为Server Management Studio 2008。
目前,Access脚本显示以下代码行:
IIf([rsosourceID]) IN (254,360,446),"MoneySavingExpert" as SourceName
基本上它创建了一个包含四列的临时表,如果字段匹配说左边的那3个数字,那么它将使用新名称填充第四列。 (用于在以后的报告中进行分组)
我如何在SQL中做一些类似的事情?我已经尝试过使用Case语句,但据我所知,这只会改变你所反对的字段。
在这种情况下,我需要查看一个字段然后使用它的结果改变另一个,任何想法?
答案 0 :(得分:2)
case语句可以使用任何其他列的值返回新列:
SELECT rsoSourceID,
rsoDescription,
rsoCategory,
case when rsoSourceID in (254,360,446)
then 'MoneySavingExpert'
else null end as SourceName
FROM TableName