34,590
社区成员
发帖
与我相关
我的任务
分享
WITH A(id,f1,f2,f3,n1) AS(
SELECT 1,'A','E','I',2 UNION ALL
SELECT 2,'B','F','J',2 UNION ALL
SELECT 3,'C','G','K',3 UNION ALL
SELECT 4,'D','H','L',3
)
--方法1:
select *,f2 as 'newCol' from A where n1=2
union all
select *,f3 as 'newCol' from A where n1=3
--方法2:
--select *,case when n1=2 then f2 when n1=3 then f3 else '' end as 'newCol' from A
select f1
,case n1 when '2' then f2
when '3' then f3
end
select case when n1=2 then f1+f2
when n1=3 then f1=f3 end from tb
--试下看看?
WITH A(id,f1,f2,f3,n1) AS(
SELECT 1,'A','E','I',2 UNION ALL
SELECT 2,'B','F','J',2 UNION ALL
SELECT 3,'C','G','K',3 UNION ALL
SELECT 4,'D','H','L',3
)
SELECT *,
f1 + CASE n1 WHEN 2 THEN f2 WHEN 3 THEN f3 END AS 组合
FROM A