现有一卖场数据表,字段有ID,NO,营业食堂区分,确认区分等,ID,NO为主键.
营业食堂区分=0时,卖场为营业卖场,营业食堂区分=1时,卖场为食堂卖场.
确认区分=1时,已确认.
现在我要查询出一个ID的营业卖场有几个,已确认的营业卖场有几个,食堂卖场有几个,已确认食堂卖场有几个.
查询结果如下例所示:
ID 营业卖场 已确认营业卖场 食堂卖场 已确认食堂卖场
1001 15 6 12 8
尽量少使用子查询,谢谢.
营业食堂区分=0时,卖场为营业卖场,营业食堂区分=1时,卖场为食堂卖场.
确认区分=1时,已确认.
现在我要查询出一个ID的营业卖场有几个,已确认的营业卖场有几个,食堂卖场有几个,已确认食堂卖场有几个.
查询结果如下例所示:
ID 营业卖场 已确认营业卖场 食堂卖场 已确认食堂卖场
1001 15 6 12 8
尽量少使用子查询,谢谢.
营业食堂区分=0时,卖场为营业卖场,营业食堂区分=1时,卖场为食堂卖场.
确认区分=1时,已确认.ID 营业卖场 已确认营业卖场 食堂卖场 已确认食堂卖场
--
select id,
sum(case when 营业食堂区分= 0 then 1 else 0 end) 营业卖场,
sum(case when 营业食堂区分= 0 and 确认区分=1 then 1 else 0 end) 已确认营业卖场,
sum(case when 营业食堂区分= 1 then 1 else 0 end) 食堂卖场,
sum(case when 营业食堂区分= 1 and 确认区分=1 then 1 else 0 end) 已确认食堂卖场
from ta
group by id
营业食堂区分=0时,卖场为营业卖场,营业食堂区分=1时,卖场为食堂卖场.
确认区分=1时,已确认.
现在我要查询出一个ID的营业卖场有几个,已确认的营业卖场有几个,食堂卖场有几个,已确认食堂卖场有几个.
查询结果如下例所示:
ID 营业卖场 已确认营业卖场 食堂卖场 已确认食堂卖场
1001 15 6 12 8select id
,[营业卖场] = sum(case 营业食堂区分 when 0 then 1 else 0 end)
,[已确认营业卖场] = sum(case 营业食堂区分 when 0 then 1 else 0 end * 确认区分)
,[食堂卖场] = sum(case 营业食堂区分 when 1 then 1 else 0 end)
,[已确认食堂卖场] = sum(case 营业食堂区分 when 1 then 1 else 0 end * 确认区分 )
from [卖场数据表]
group by id
select id ,
sum(case 营业食堂区分 when 0 then 1 else 0 end) 营业卖场,
sum(case 营业食堂区分 when 1 then 1 else 0 end) 食堂卖场
from tb
group by id--其他两个不知道怎么搞?
sum(case 营业食堂区分 when 0 then 1 else 0 end) 营业卖场,
sum(case when 营业食堂区分 = 0 and 确认区分 = 1 then 1 else 0 end) 已确认营业卖场,
sum(case 营业食堂区分 when 1 then 1 else 0 end) 食堂卖场,
sum(case when 营业食堂区分 = 1 and 确认区分 = 1 when 1 then 1 else 0 end) 已确认食堂卖场
from tb
group by id
sum(case when 营业食堂区分=0 and 确认区分=1 then 1 else 0 end) 已确认营业卖场,
sum(case when 营业食堂区分=1 then 1 else 0 end) 食堂卖场,
sum(case when 营业食堂区分=1 and 确认区分=1 then 1 else 0 end) 已确认食堂卖场
from table;
sum(case when 营业食堂区分=0 and 确认区分=1 then 1 else 0 end) 已确认营业卖场,
sum(case when 营业食堂区分=1 then 1 else 0 end) 食堂卖场,
sum(case when 营业食堂区分=1 and 确认区分=1 then 1 else 0 end) 已确认食堂卖场
from table
group by id;