select 用户代码,
       sum(case 品种 when 1 then 数量 else 0 end) as 品种1数量,
       sum(case 品种 when 1 then 金额 else 0 end) as 品种1金额,
       sum(case 品种 when 2 then 数量 else 0 end) as 品种2数量,
       sum(case 品种 when 2 then 金额 else 0 end) as 品种2金额,
       sum(case 种类 when 1 then 数量 else 0 end) as 种类1数量,
       sum(case 种类 when 1 then 金额 else 0 end) as 种类1金额,
       sum(case 种类 when 2 then 数量 else 0 end) as 种类2数量,
       sum(case 种类 when 2 then 金额 else 0 end) as 种类2金额
into new_table_name
from A 
group by 用户代码

解决方案 »

  1.   

    select 用户代码,sum(case when 品种=1 then 数量 else 0 end) 品种1数量,
    sum(case when 品种=1 then 金额 else 0 end) 品种1金额,sum(case when 品种=2then 数量 else 0 end) 品种2数量,
    sum(case when 品种=2then 金额 else 0 end) 品种2金额,
    sum(case when 种类=1 then 数量 else 0 end) 种类1数量,
    sum(case when 种类=1 then 金额 else 0 end) 种类1金额,
    sum(case when 种类=2 then 数量 else 0 end) 种类2数量,
    sum(case when 种类=2 then 金额 else 0 end) 种类2金额 
    into newtable from 表A group by 用户代码
      

  2.   

    select 用户代码,sum(case when 品种 = '品种1' then 数量 else 0) as 品种1数量,
    sum(case when 品种 = '品种1' then 金额 else 0) as 品种1金额,
    sum(case when 品种 = '品种2' then 数量 else 0) as 品种2数量,
    sum(case when 品种 = '品种2' then 金额 else 0) as 品种2金额,
    sum(case when 种类 = '种类1' then 数量 else 0) as 种类1数量,
    sum(case when 种类 = '种类1' then 金额 else 0) as 种类1金额,
    sum(case when 种类 = '种类2' then 数量 else 0) as 种类2数量,
    sum(case when 种类 = '种类2' then 金额 else 0) as 种类2金额
    from 表A
    group by 用户代码