1

我在这里有一个非常简单的问题。我正在将一些 Access SQL 脚本转换为 Server Management Studio 2008。

目前,Access 脚本显示以下代码行:

IIf([rsosourceID]) IN (254,360,446),"MoneySavingExpert" as SourceName

示例条目

基本上它是创建一个有四列的临时表,如果字段匹配说左边的这 3 个数字,那么它将用他们的新名称填充第四列。(用于在以后的报告中进行分组)

如何在 SQL 中做类似的事情?我尝试过使用 Case 语句,但据我所知,这只会改变您正在查看的字段。

在这种情况下,我需要查看一个字段,然后使用它的结果改变另一个字段,有什么想法吗?

4

1 回答 1

2

case 语句可以使用任何其他列的值返回一个新列:

SELECT rsoSourceID,
    rsoDescription, 
    rsoCategory,
    case when rsoSourceID in (254,360,446)
        then 'MoneySavingExpert'
        else null end as SourceName
FROM TableName
于 2012-05-01T15:44:33.507 回答