首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从其他3个字段计算得到的字段T-SQL

从其他3个字段计算得到的字段T-SQL
EN

Stack Overflow用户
提问于 2011-03-08 23:46:59
回答 3查看 909关注 0票数 0

我正在尝试在我的存储进程中创建一个计算字段。我有一个projectID列和3个列,其中包含'yes‘或'no’值,它们对应于受影响的区域。我必须收集所有'yes‘值,并将相应区域的名称插入到一个名为RegionImpacted的新字段中。可能有多个区域受到影响。

EN

Stack Overflow用户

回答已采纳

发布于 2011-03-09 00:20:43

其他人建议的嵌套case语句可以工作,但如果您需要添加额外的区域,它们很快就会变得非常复杂,因为它们的复杂性呈指数级增加。例如,在实现嵌套的case语句解决方案之前,考虑它们在6个区域中的样子。我更喜欢使用连接的case语句方法。

代码语言:javascript
运行
复制
DECLARE @Region1 CHAR(3)
, @Region2 CHAR(3)
, @Region3 CHAR(3)
, @Result VARCHAR(128)

SET @Region1 = ' NO'
SET @Region2 = ' NO'
SET @Region3 = ' NO'

SELECT  Regions = CASE WHEN ( @Region1 = ' NO'
                                        AND @Region2 = ' NO'
                                        AND @Region3 = ' NO'
                                     ) THEN 'None'
                        ELSE CASE @Region1
                                WHEN 'YES' THEN 'Region1 '
                                ELSE ''
                            END 
                            + CASE @Region2
                                WHEN 'YES' THEN 'Region2 '
                                ELSE ''
                            END 
                            + CASE @Region3
                                WHEN 'YES' THEN 'Region3 '
                                ELSE ''
                            END
                        END         
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5234768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档