表 A 字段    单位表,一个单位对应N个B表中数据。
表 B 字段    信息表,每一条都对应一个单位,且对应一条C中数据
表 C 字段    代码表  每一条对应N个B中数据。 C中有一字段,说明此代码的分数。
现在想相看A表中所有单位的总分数,且排序。SQL怎么写?我说明白了吗?如果用程序来说 变量总分 ZF  单位DW循环  A表

     得到单位ID as  dwid
     根据 DWID循环 B表中单位ID=DWID的
    {
          得到B表中的代码ID as DMID
          根据DMID查找C表中此DMID对应的分数  X
          ZF:=ZF+X;    }    //到这里得到一单位,和它的总分数。

//循环完,所有单位总分数都得到了,问题是,还得排序(临时将循环中数据插入到一表中)。
所以求一条SQL语句完成。

解决方案 »

  1.   

    啰嗦半天不如把表结构和数据给出来select sum(分数) ,单位 
    from c left join b on 连接条件 left join a on 连接条件
    group by 单位 order by sum(分数)
      

  2.   

    试试看对不对select a.单位, sum(c.分数) as "分数"
      from a, b, c
     where a.单位 = b.单位
       and b.代码 = c. 代码
     group by a.单位;
      

  3.   

    假设你按单位排序
    select A.aid,sum(C.分数) from A,B,C where a.aid = b.aid and b.bid = c.bid order by a.aname;
      

  4.   

    用sum函数比用循环更好,支持!