首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

case 嵌套正确写法有关问题

2012-03-27 
case 嵌套正确写法问题declare@typeasintdeclare@idasintset@type3set@id1SELECTCASEWHEN@typein(1,4,6)

case 嵌套正确写法问题
declare   @type   as   int
declare   @id   as   int
set   @type=3
set   @id=1
SELECT      
            CASE  
                  WHEN   @type   in(1,4,6)   THEN  
select  
case  
when   @id   in(1)   then   'A '
when   @id   in(2)   then   'a '
end
                  WHEN   @type   in(2,5)   THEN  
select  
case  
when   @id   in(1)   then   'B '
when   @id   in(2)   then   'b '
end
                  WHEN   @type   in(3)   THEN   'C '
            END


[解决办法]
SELECT
CASE
WHEN @type in(1,4,6) THEN
case
when @id in(1) then 'A '
when @id in(2) then 'a '
end
WHEN @type in(2,5) THEN
case
when @id in(1) then 'B '
when @id in(2) then 'b '
end
WHEN @type in(3) THEN 'C '
END

[解决办法]
declare @type as int
declare @id as int
set @type=3
set @id=1
SELECT
CASE
WHEN @type in(1,4,6) THEN
--select
case
when @id in(1) then 'A '
when @id in(2) then 'a '
end
WHEN @type in(2,5) THEN
--select
case
when @id in(1) then 'B '
when @id in(2) then 'b '
end
WHEN @type in(3) THEN 'C '
END

热点排行