1.declare @a int,@b int
set @a=0
set @b=5
select case when @a=1 then (case when @b=1 then 'A' else 'B' end) else (case when @b=1 then 'C' else 'D' end) end
D2.
declare @a int,@b int
set @a=1
set @b=1
select case when @a=1 then (case when @b=1 then 'A' else 'B' end) else (case when @b=1 then 'C' else 'D' end) endA
set @a=0
set @b=5
select case when @a=1 then (case when @b=1 then 'A' else 'B' end) else (case when @b=1 then 'C' else 'D' end) end
D2.
declare @a int,@b int
set @a=1
set @b=1
select case when @a=1 then (case when @b=1 then 'A' else 'B' end) else (case when @b=1 then 'C' else 'D' end) endA
select case a
when 1 then
case b
when 'a' then '1a'
when 'b' then '1b'
when 'c' then '1c'
else '1e'
end
when 2 then
case b
when 'a' then '2a'
when 'b' then '2b'
when 'c' then '2c'
else '2e'
end
else '0e'
end as ab
from tablename
可是如是有子CASe中有两个以上的选项时,又怎么做呢?
如:
declare @a int,@b int
set @a=0
set @b=5
select case when @a=1 then
(case when @b=1 then 'A' else 'B' end) ,
(case when @b=2 then 'F' else 'B' end)
else (case when @b=3 then 'C' else 'D' end)
(case when @b=4 then 'G' else 'D' end)
end
set @a=0
set @b=5
select (case @a
when '1' then
(case @b
when '1' then 'A'
when '2' then 'F'
else 'B'
end)
when '2' then
(case @b
when '3 'then 'C'
when '4' then 'G'
else 'D'
end)
end)
select id, case when bc='A'
min(case when name ='a' then '123 else null end ) as t1 ,
min(case when name ='b' then '123 else null end ) as t1 ,
min(case when name ='c' then '123 else null end ) as t1
when bc='B'
min(case when name ='a' then '123 else null end ) as t1 ,
min(case when name ='b' then '123 else null end ) as t1 ,
min(case when name ='c' then '123 else null end ) as t1
else
end
可是总提示AS 附近有错误.
select id, case when bc='A'
min(case when name ='a' then '123' else null end ) as t1 ,
min(case when name ='b' then '456' else null end ) as t2 ,
min(case when name ='c' then '789' else null end ) as t3
when bc='B'
min(case when name ='a' then '012' else null end ) as t1 ,
min(case when name ='b' then '023' else null end ) as t2 ,
min(case when name ='c' then '036' else null end ) as t3
else
end
from ta group by id
可是总提示AS 附近有错误.