现有张表 Table1
字段 [uId]
,[uName]
,[p1_weiBo]
,[p2_wangYi]
,[p3_renRen]
,[p4_douBan]
,[p5_youKu]
其中
[p1_weiBo] ,[p2_wangYi],[p3_renRen],[p4_douBan],[p5_youKu]
就2个数值 Yes 或者 No
我现在想用一句Sql语句,获取 用户P1...P5的 Yes 的数量.
请高人指点,谢谢
------解决方案--------------------
- SQL code
select [uId] ,[uName] ,(case when [p1_weiBo]='Yes' then 1 else 0 end)+(case when [p2_weiBo]='Yes' then 1 else 0 end)+(case when [p3_weiBo]='Yes' then 1 else 0 end)+(case when [p4_weiBo]='Yes' then 1 else 0 end)+(case when [p5_weiBo]='Yes' then 1 else 0 end) as NUMfrom Table1
------解决方案--------------------
- SQL code
select sum(case weiBo when 'yes' then 1 else 0 end) as 数量from ( select p1_weiBo from Table1 union all select p2_weiBo from Table1 union all select p3_weiBo from Table1 union all select p4_weiBo from Table1 union all select p5_weiBo from Table1)t