三个字段两两相同取的其一的

文章来源:丹阳文学网  |  2021-10-29

三个字段两两相同取的其一

表T_Zone_Inf

Level1 Level2 Level3

-------------------------------------------------- -------------------------------------------------- 安徽省 安庆市 安庆市

安徽省 蚌埠市 蚌埠市

安徽省 亳州市 亳州市

安徽省 巢湖市 巢湖市

北京市 北京市 海淀区

安徽省 滁州市 定远县

陕西省 商洛市 镇安县

需要得到结果:

level1+level2+leve3

安徽省安庆市

安徽省蚌埠市

安徽省亳州市

安徽省巢湖市

北京市海淀区

安徽省滁州市定远县

陕西省商洛市镇安县

SQL codecreate table T_Zone_Inf(

Level1 nvarchar(10),

Level2 nvarchar(10),

Level3 nvarchar(10)

)

go

create function myWork(@L1 nvarchar(10),@L2 nvarchar(10),@L3 nvarchar(10))

returns nvarchar(30)

as

begin

declare @results nvarchar(30)

if (@L1 = @L2)

begin

set @results = @L1 + @L3

end

else

begin

if (@L2 = @L3)

begin

set @results = @L1 + @L2

end

else

begin

set @results = @L1 + @L2 + @L3

end

end

return @results

end

select Work(Level1,Level2,Level3) from T_Zone_Inf

SQL codeCREATE TABLE T_Zone_Inf (Level1 varchar(20),Level2 varchar(20),Level3 varchar(20))

insert into T_Zone_Inf select \"安徽省\",\"安庆市\",\"安庆市\"

union all select \"安徽省\",\"蚌埠市\",\"蚌埠市\"

union all select \"安徽省\",\"亳州市\",\"亳州市\"

union all select \"安徽省\",\"巢湖市\",\"巢湖市\"

union all select \"北京市\",\"北京市\",\"海淀区\"

union all select \"安徽省\",\"滁州市\",\"定远县\"

union all select \"陕西省\",\"商洛市\",\"镇安县\"

CREATE VIEW VB_T_Zone_Inf

AS

SELECT

ALevel=Level1+

CASE WHEN Level2=Level3 THEN Level2

ELSE Level2+Level3

到底要不要api END

FROM T_Zone_Inf

SELECT * FROM VB_T_Zone_Inf

/*

ALevel

------------------------------------------------------------

安徽省安庆市

安徽省蚌埠市

安徽省亳州市

安徽省巢湖市

北京市北京市海淀区

安徽省滁州市定远县

陕西省商洛市镇安县

(所影响的行数为 7 行)

*/

郑州哪家医院妇科医院好
人工泪液可以缓解视疲劳吗
沈阳阴道炎治疗哪家好
友情链接