select * from (select 姓名,雪碧=sum(case when 品种='雪碧'then 数量 else '0' end),可乐=sum(case when 品种='可乐' then 数量 else '0' end),百事=sum(case when 品种='百事' then 数量 else '0' end)from Agroup by 姓名)as AA
select 姓名,sum(case 品种 = '雪碧' then 数量else 0 end) 雪碧, sum(case when 品种= '可乐' then 数量else 0 end) 可乐,sum(case when 品种= '百事' then 数量else 0 end) 百事, from 表A group by 姓名;
select 姓名,case 品种 when '雪碧' then s else 'NULL' end ,case 品种 when '可乐then s else 'NULL' end ,case 品种 when '百事then s else 'NULL' end ,(select 姓名,品种,sum(数量) sfrom agro