有一表tableA   字段如下:
              Name   ManageNO   Task    Pretime  Realtime                
               a       001       x        4         6              
               a       002       y        5         3           
               a       003       z        8         10              
               b       004       t        5         3         
               b       006       n        7         10          
     字段XL為  Pretime/Realtime      字段SumXL 為 name 對應的  sum(pretime)/sum(realtime)
實現         
             Name   ManageNO   Task    Pretime  Realtime         XL        SumXL 
               a       001       x        4         6           0.66       0.89
                       002       y        5         3           1.66  
                       003       z        8         10          0.8 
               b       004       t        5         3           1.66       0.92  
                       006       n        7         10          0.7   
請大俠們指點

解决方案 »

  1.   

    Name   ManageNO   Task    Pretime  Realtime         XL        SumXL 
              a       001       x        4         6           0.66       0.89
                      002       y        5         3           1.66  
                      003       z        8         10          0.8 
              b       004       t        5         3           1.66       0.92  
                      006       n        7         10          0.7   請大俠們指點有點變形
      

  2.   

    select  Name,ManageNO,Task,Pretime,Realtime,(Pretime/Realtime)=XL,(sum(pretime)/sum(realtime))=SumXL from table
      

  3.   

    select a.Name,ManageNo,task,pretime,realtime,Pretime/Realtime as xl,b.sumxl from 
    tableA a,(select Name,sum(pretime)/sum(realtime) group by Name from TableA) b
      

  4.   

    错了..
    不是用等号
    select  *,(Pretime/Realtime) as XL,(sum(pretime)/sum(realtime)) as SumXL from table
      

  5.   

    wangjintu(wangjin)  查詢分析器通不過
      

  6.   

    zzlazio(sritsb) 的方法应该是不行的,sum() 不能和不分组的项在一起wangjintu(wangjin) 的方法可以
      

  7.   

    name 下的字段在有重復時只顯示一個
      

  8.   

    select a.Name,ManageNo,task,pretime,realtime,Pretime/Realtime as xl,b.sumxl 
    from tableA a,
        (select Name,sum(pretime)/sum(realtime) as sumxl from TableA group by Name) b
      

  9.   

    我觉得不能希望 select 查询帮你做一切,毕竟他出来的是结果集,而楼主那样的结果很难的
    查询出结果后用报表来做吧
      

  10.   

    searoom(海龙)  厲害  
          name      manageno    task    pretime  realtime  
           a           001       x  
           a           002       y
           a           003       z
           b           004       t
           b           005       m
    已經實現
           a           001       x 
                       002       y
                       003       z 
           b           004       t
                       005       m可是客戶還要加總效率  sql就不好實現了
      

  11.   

    select b.Name, a.ManageNo, a.Task, a.Pretime, a.Realtime, a.Pretime/a.Realtime as XL, b.sumXL
    from tableA a 
    left join (select name, min(ManageNo) as ManageNo, sum(Pretime)/sum(Realtime) as sumXL from tableA group by name) b on a.ManageNo = b.ManageNo
      

  12.   

    select b.Name, a.ManageNo, a.Task, a.Pretime, 
    a.Realtime, convert(decimal,a.Pretime,0)/convert(decimal,a.Realtime,0) as XL, b.sumXL
    from tableA a 
    left join 
    (select name, min(ManageNo) as ManageNo, 
      convert(decimal, sum(pretime), 0)/convert(decimal, sum(realtime),0) as sumXL 
     from tableA group by name) b on a.ManageNo = b.ManageNo
      

  13.   

    select b.Name, a.ManageNo, a.Task, a.Pretime, 
    a.Realtime, convert(decimal(4,2),a.Pretime,0)/convert(decimal(4,2),a.Realtime,0) as XL, b.sumXL
    from mytest a 
    left join 
    (select name, min(ManageNo) as ManageNo, 
      convert(decimal(4,2), sum(pretime), 0)/convert(decimal(4,2), sum(realtime),0) as sumXL 
     from mytest group by name) b on a.ManageNo = b.ManageNo
      

  14.   

    meiqingsong(阿飛)  厲害   給分  謝謝大家了