可以,不过要用子查询嵌套,基本上都是用统计函数如sum等。

解决方案 »

  1.   

    我要的结果是这样的:
       (如果一个时间段是 2004-1-5 至 204-1-17 的话)      (一个时间段)(全部时间)  (一个时间段)(全部时间)  (一个时间段)(全部时间)
    BuMen  Money(实际交) Money(实际交) Money(应该交) Money(应该交) Money(未交)  Money(未交)教务处   1900         1900           3000           3000         1100         1100校长室   1400         1400           3500           3500         2100         2100年级组      0         1100              0           3400            0         2300大概是这个样子!
    为了让大家看清楚,我上面的表已经简化拉!
    我等了好久了!大侠们快来啊!
      

  2.   

    select all.All实际交,all.all未交,sub.sub实际交,sub.sub未交 from 
    (select All实际交,all未交,BuMen ,BuMenID from (select BuMenID,sum(Money(实际交)) All实际交,  sum(Money(应该交)-Money(实际交)) all未交 from 表1 group by BuMenID) All表1 ,BuMen from All表1,表2 where All表1.BuMenID=表2.BuMenID) all,(
    select sub实际交,sub未交,BuMen ,BuMenID from (select BuMenID,sum(Money(实际交)) sub实际交,  sum(Money(应该交)-Money(实际交)) sub未交 from 表1 where time>a and time<b group by BuMenID) sub表1 ,BuMen from sub表1,表2 where All表1.BuMenID=表2.BuMenID) sub
    where all.BuMenID=sub.BuMenID就差不多了
      

  3.   

    没有测试过 Money(1)         Money(2)   BuMenID     Time     |    BuMenID        BuMen
                                                         |
          1000           800        430009     2004-1-5  |    430009         教??
          2000          1300        430009     2004-1-8  |    430009         教??
          1800           500        430011     2004-1-9  |    430011         校?室
          1700           900        430011     2004-1-12 |    430011         校?室
          1500          1100        430010     2004-1-17 |    430010         年??
          1900             0        430010     2004-1-19 |    430010         年??我要的?果是:BuMen  Money(1)   Money(1)      Money(2)     Money(2)    Money(3)  Money(3)
    部?名 (一个??段)     (全部)     (一个??段)     (全部)     (一个??段)  (全部)SELECT t.bumen                  bumen,
           SUM(t.money1)            money1,
           t1.money1_t1             money1_total,
           SUM(t.money2)            money2,
           t1.money2_t1             money2_total,
           SUM(t.money1+money2)     money3,
           t1.money3_t1             money3_total
      FROM TABLE t,
           (SELECT sum(money1)          money1_t1,
                   sum(money2)          money2_t1,
                   sum(money1+money2)   money3_t1,
                   bumenid              bumenid_t1
              FROM TABLE
          GROUP BY bumen) t1
     WHERE t.time BETWEEN (:parametertime1 AND :parametertime2)
       AND t.bumenid = t1.bumenid
    GROUP BY t.bumen,
             t1.money1_t1,
             t1.money2_t1,
             t1.money3_t1上面的‘?’因为我是日文系统 不能正常显示by http://www.tt-style.com/bbs/index.htm
      

  4.   

    遗漏了你说的注意了 Money(1)         Money(2)   BuMenID     Time     |    BuMenID        BuMen
                                                         |
          1000           800        430009     2004-1-5  |    430009         教??
          2000          1300        430009     2004-1-8  |    430009         教??
          1800           500        430011     2004-1-9  |    430011         校?室
          1700           900        430011     2004-1-12 |    430011         校?室
          1500          1100        430010     2004-1-17 |    430010         年??
          1900             0        430010     2004-1-19 |    430010         年??我要的?果是:BuMen  Money(1)   Money(1)      Money(2)     Money(2)    Money(3)  Money(3)
    部?名 (一个??段)     (全部)     (一个??段)     (全部)     (一个??段)  (全部)select t.bumen,
           nvl(t2.money1,0),
           t.money1_t,
           nvl(t2.money2,0),
           t.money2_t,
           nvl(t2.money3,0),
           t.money3_t       
      from (SELECT sum(money1)          money1_t,
                   sum(money2)          money2_t,
                   sum(money1-money2)   money3_t,
                   bumenid              bumenid_t,
           bumen                bumen_t
              FROM TABLE
          GROUP BY bumenid,
                   bumen) t,
          (SELECT t.bumenid                bumenid,
                  t.bumen                  bumen,
                  SUM(t.money1)            money1,
                  SUM(t.money2)            money2,
                  SUM(t.money1-money2)     money3,
             FROM TABLE t
            WHERE t.time BETWEEN (:parametertime1 AND :parametertime2)
         GROUP BY t.bumenid,
                  t.bumen) t2
     where t2.bumenid(+) = t.bumenidhttp://www.tt-style.com/bbs/index.htm
      

  5.   

    好拉!我解决拉!!谢谢caodiablo() 是你给了我启发!我想我以后写SQL语句不会再这么菜了!谢谢!