select count(*) from 表1 where empid=:var1 and cpid=:var2
再把这个语句放到循环里,在循环里改变var1,var2就行了。

解决方案 »

  1.   

    select sum(t1.cps1),sum(t1.cpje),t2.cpid,t1.empid from t1,t2 
    where t1.cpid=t2.cpid group by empid,cpidi write it now of no test
    you can update it and can get i guessing
      

  2.   

    一条语句不行,我做了个存储过程,你看看有没有用
    declare @rnum int,
            @i int
            @sql varchar(8000)
    set @i=0
    select count(a.*) from (select distinct empid from talbe1) a
    set @sql='select cpid,'
    while (@i<=@rnum)
    begin
        @i=i+1
        set @sql=@sql+'sum(case when empid ="用户"'+cast(@i as varchar(5))+' then scsl end) as 用户'+cast(@i as varchar(5))+'数量,sum(case when empid ="用户"'+cast(@i as varchar(5))+' then scje end) as 用户'+cast(@i as varchar(5))+'金额'
    //你最好使用户编号与@i对应起来,否则,也有很多方法,如建立游标或者定义数组,但是都不如这样方便一点
        if (@i<>@rnmu)
        begin
            set @sql=@sql+','
        end
    end
    set @sql=@sql+' from table1 froup by empid'
    exec(@sql)