select  职员姓名,基本工资,计件工资,奖金,合计=基本工资+计件工资+奖金 
(select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
       基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
       计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
       奖金From gzsj )AA

解决方案 »

  1.   

    少写了一个FROM
    select  职员姓名,基本工资,计件工资,奖金,合计=基本工资+计件工资+奖金 from
    (select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
           基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
           计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
           奖金From gzsj )AA
      

  2.   

    select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
           基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
           计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
           奖金,
           (select jbgz From ytperson where personid=gzsj.personid)+
    (select Sum(summoney) From jjgz where personid=gzsj.personid)+奖金
     合计
    From gzsj 
      

  3.   

    select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
           基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
           计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
           奖金,
           sum(1) as 合计  
           
    From gzsj 
    group by 职员姓名
      

  4.   

    改一下 试试select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
           基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
           计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
           sum(奖金),
           sum(1) as 合计  
           
    From gzsj 
    group by 职员姓名
      

  5.   

    如果按
    select  职员姓名,基本工资,计件工资,奖金,合计=基本工资+计件工资+奖金 from
    (select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
           基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
           计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
           奖金From gzsj )AA查询出来的结果,我要更改奖金这一字段的值不就不能修改了吗?
      

  6.   

    select 职员姓名=(select personname From ytperson where personid=gzsj.personid),
           基本工资=(select jbgz From ytperson where personid=gzsj.personid), 
           计件工资=(select Sum(summoney) From jjgz where personid=gzsj.personid),
           奖金,
           (select jbgz From ytperson where personid=gzsj.personid)+
    (select Sum(summoney) From jjgz where personid=gzsj.personid)+奖金
     合计
    From gzsj 用这段程序没问题,但合计 这里运算两次。因为上面已经运算过一次。
      

  7.   

    蚂蚁的方法是对的,在结果是正确的。 但是在前台通过dbgrid连接。
    修改dbgrid的奖金字段还是不能修改呀
      

  8.   

    delphi不能直接修改dbgrid,应为你的select语句做了复杂联接!!!
    你只能通过query动态构造update语句来更新!