select s_ID,
sum(case s_Card when 'a' then s_Qty else 0 end) as a,
sum(case s_Card when 'b' then s_Qty else 0 end) as b,
sum(case s_Card when 'c' then s_Qty else 0 end) as c,
sum(case s_Card when 'd' then s_Qty else 0 end) as d,
from 表
group by s_ID
sum(case s_Card when 'a' then s_Qty else 0 end) as a,
sum(case s_Card when 'b' then s_Qty else 0 end) as b,
sum(case s_Card when 'c' then s_Qty else 0 end) as c,
sum(case s_Card when 'd' then s_Qty else 0 end) as d,
from 表
group by s_ID
sum(case s_Card when 'a' then s_Qty else 0 end) as a,
sum(case s_Card when 'b' then s_Qty else 0 end) as b,
sum(case s_Card when 'c' then s_Qty else 0 end) as c,
sum(case s_Card when 'd' then s_Qty else 0 end) as d
from 表
group by s_ID
set @s='select s_ID'select @s=@s+','+s_Card+'=sum(case s_Card when '''+s_Card+++''' then s_Qty else 0 end)' from 表 group by order by s_Cardset @s=@s+' from 表 group by s_ID order by s_ID'exec(@s)