TABLE   A: CLASS(班级)、MONEY(钱数)、DATE(日期)
TABLE   B: STUDENT(学生)、CLASS(班级)、MONEY(用钱数目)、GRADE(贫困等级)、COME(出生地)求出来自山西的、贫困等级为一级的学生用完钱后,每个班级的剩余钱数

解决方案 »

  1.   


    --你的作业题啊?
    select t1.class,t1.sum2-t2.sum1 from
      (select class,sum(money) sum2 from a group by class) t1,
      (select class,sum(money) sum1 from b  where grade='一级' group by class) t2
    where t1.class=t2.class
      

  2.   


    --少了一个条件:来自山西
    select t1.class,t1.sum2-t2.sum1 from
      (select class,sum(money) sum2 from a group by class) t1,
      (select class,sum(money) sum1 from b  where grade='一级' AND come='山西' group by class) t2
    where t1.class=t2.class
      

  3.   

    select a.class,a.MONEY-b.use_MONEY
    from tab_a a
    (select class,sum(MONEY)  use_MONEY
    from tab_b where come='山西' and GRADE='一级' group by class) b
    where a.class=b.class
      

  4.   

    --还是这个意思select a.class,sum(a.MONEY)-sum(nv(b.MONEY,0)) 
    from tab_a a,tab_b b
    where b.come='山西' and b.GRADE='一级' and a.class=b.class(+)
    group by a.class
      

  5.   

    分在今天的那个提问里一起给了,这里就不给了     gelyon
      

  6.   

    select t1.class,t1.sum2-t2.sum1 from
      (select class,sum(money) sum2 from a group by class) t1,
      (select class,sum(money) sum1 from b  where grade='一级' AND come='山西' group by class) t2
    where t1.class=t2.class这个比较清晰,推荐下。
      

  7.   

    select t1.money1-t2.money2 from 
     (select class, sum(money) as money1 from a as t1),
    (select class,sum(money) as money2 from b where b.come='山西' and b.grade='1' as t2)
    where t1.class=t2.class group by t1.class
      

  8.   

    select t1.class,t1.sum2-t2.sum1 from
      (select class,sum(money) sum2 from a group by class) t1,
      (select class,sum(money) sum1 from b where grade='一级' AND come='山西' group by class) t2
    where t1.class=t2.class
      

  9.   

    select A.CLASS,A.MONEY-K.MONEY 剩余钱
    from A join 
    (select sum(money) MONEY,class from B where grade=1 and come='山西' group by class) k
    on A.class=k.class;