你最好貼數據出來select 部門,sum(case when 產品='產品A' then 數量 else 0 end)as '產品A', 
            sum(case when 產品='產品B' then 數量 else 0 end)as '產品B',
            sum(case when 產品='產品C' then 數量 else 0 end)as '產品C',
            sum(case when 產品='產品D' then 數量 else 0 end)as '產品D'
from t
group by 部門

解决方案 »

  1.   

    表名,字段名這些要貼出來嘛。像這樣貼出你的需求。http://community.csdn.net/Expert/topic/5646/5646953.xml?temp=.1764185如果你的問題和這個類似,可以直接在其語句上改寫
      

  2.   

    http://community.csdn.net/Expert/topic/5646/5646953.xml?temp=.1764185
      

  3.   

    这样高手我要的结果和你给的地址的结果差不多,
    我最上面的语名的结果是:
    产品总计:120 产品A100 产品b150............
    我还想统计每个业务员销售的产品数,但是业务员的和产品数不确定的,
    select qr_gzfl, count(qr_gzfl) as zl from dingdan where group by qr_gzfl union select '产品合计' as qr_gzfl, count(qr_gzfl) as zl from dingdan
    表名:dingdan
    产品字段:qr_gzfl
    业务员字段:qr_ddr
      

  4.   

    --如果qr_gzfl是固定的
    Select 
    qr_ddr,
    SUM(Case qr_gzfl When '李明' Then 1 Else 0 End) As 李明,
    SUM(Case qr_gzfl When '张三' Then 1 Else 0 End) As 张三,
    SUM(Case qr_gzfl When '王五' Then 1 Else 0 End) As 王五
    From
    dingdan
    Group By
    qr_ddr
    --如果qr_gzfl不是固定的
    Declare @S Varchar(8000)
    Select @S = ' Select qr_ddr'
    Select @S = @S + ', SUM(Case qr_gzfl When ''' + ''' Then 1 Else 0 End) As [' + qr_gzfl + ']'
    From dingdan Group By qr_gzfl
    Select @S = @S + ' From dingdan Group By qr_ddr'
    EXEC(@S)
      

  5.   

    暈,沒有改完就貼了。--如果qr_gzfl是固定的
    Select 
    qr_ddr,
    SUM(Case qr_gzfl When '产品A' Then 1 Else 0 End) As 产品A,
    SUM(Case qr_gzfl When '产品B' Then 1 Else 0 End) As 产品B,
    SUM(Case qr_gzfl When '产品C' Then 1 Else 0 End) As 产品C,
    SUM(Case qr_gzfl When '产品D' Then 1 Else 0 End) As 产品D
    From
    dingdan
    Group By
    qr_ddr
    --如果qr_gzfl不是固定的
    Declare @S Varchar(8000)
    Select @S = ' Select qr_ddr'
    Select @S = @S + ', SUM(Case qr_gzfl When ''' + ''' Then 1 Else 0 End) As [' + qr_gzfl + ']'
    From dingdan Group By qr_gzfl
    Select @S = @S + ' From dingdan Group By qr_ddr'
    EXEC(@S)
      

  6.   

    我改了一下但是出了一个未错误
    ddcj="select qr_gzfl,sum(case qr_ddr when '杨' then 1 else 0 end) as 杨,sum(case qr_ddr when '李' then 1 else 0 end) as 李, sum(case qr_ddr when '刘' then 1 else 0 end) as 刘 from dingdan where gs_dz_type=0 group by qr_gzfl"
      

  7.   

    set ddcj=conn.execute(ddcj)这样吗