就是这题
表名:JKJL 字段名 中文名称 数据类型 主键 非空
Gh 员工工号 char(6)
Rq 日期 datetime
Fx 方向, char(1) '0'表示收款,fx='1'表示付款
Je 金额 numeric(7,2) 部分数据,例如:
Gh Rq Fx je
001 2001-09-01 0 1500.25
001 2001-09-01 0 250.00
002 2001-09-01 1 350.75
003 2001-09-02 0 123.11 (1).要求每天汇总一条记录,生成类似如下结果的查询:日期 方向 金额
2001-9-1 收 1750.25
2001-9-1 付 350.75
2001-9-2 收 123.11
2001-9-2 付 0

解决方案 »

  1.   

    SELECT rq,DECODE(fx,'0','收','1','付'),sum(je)
      FROM jkjl
    GROUP BY rq,DECODE(fx,'0','收','1','付');
      

  2.   

    SELECT rq '日期',DECODE(fx,'0','收','付') '方向',sum(je) '金额'
      FROM jkjl
    GROUP BY rq,fx;
      

  3.   

    部分数据,例如:
    Gh  Rq  Fx  je
    001  2001-09-01  0  1500.25
    001  2001-09-01   0  250.00
    002  2001-09-01  1  350.75
    003  2001-09-02  0  123.11(1).要求每天汇总一条记录,生成类似如下结果的查询:日期 方向 金额
    2001-9-1 收  1750.25
    2001-9-1 付  350.75
    2001-9-2 收  123.11
    2001-9-2 付  0
      

  4.   

    SELECT   rq, fx, NVL (SUM (je), 0)
        FROM (SELECT a.rq, a.fx, b.je
                FROM (SELECT DISTINCT rq, 0 fx
                                 FROM jkjl
                      UNION
                      SELECT DISTINCT rq, 1 fx
                                 FROM jkjl) a LEFT OUTER JOIN jkjl b ON (    a.rq =
                                                                                b.rq
                                                                         AND a.fx =
                                                                                b.fx
                                                                        )
                     )
    GROUP BY rq, fx