ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 我要输出如此麻烦的报表,拜托帮忙看看吧

我要输出如此麻烦的报表,拜托帮忙看看吧

原创 Linux操作系统 作者:lunar2000 时间:2001-11-22 00:47:46 0 删除 编辑
--销售日统计表        xsrhzb1                                --销售月统计表        xsyhzb1
CREATE TABLE XSRHZB11(                                        CREATE TABLE xsyhzb11(                 
        DWDM VARCHAR2(5),                                         DWDM VARCHAR2(5),      
        YPDM VARCHAR2(5),                                         YPDM VARCHAR2(5),      
        YWRQ VARCHAR2(5),                                         YRQ VARCHAR2(5),        
        SFHX CHAR(1),                                                 XSLXZB VARCHAR2(4),     
        XSLXZB VARCHAR2(4),                                         XSLX VARCHAR2(4),      
        XSLX VARCHAR2(4),                                         XSDXZB VARCHAR2(4),     
        XSDXZB VARCHAR2(4),                                         ZXZB VARCHAR2(4),      
        ZXZB VARCHAR2(4),                                         BYSL  NUMBER(5),        
        DWMC VARCHAR2(10),                                         BYJE NUMBER(5),         
        DWLB VARCHAR2(2),                                         BNLJSL NUMBER(5),      
        SJDWDM VARCHAR2(5),                                         BNLJJE NUMBER(5),      
        SL NUMBER(5),                                                 DWMC VARCHAR2(10),      
        JE NUMBER(5)                                                DWLB CHAR(2),           
);                                                                SJDWDM VARCHAR2(5),     
                                                                YPMC VARCHAR2(10),      
                                                                XSLXZBMC VARCHAR2(5),   
                                                                XSLXMC VARCHAR2(5),     
                                                                XSDXZBMC VARCHAR2(5),   
                                                                ZXZBMC VARCHAR2(5)      
                                                         ) ;                           
                                                                                        
要求这样的结果集:
DWMC       DWDM          JT         ZT       SYJT       QNTQ       DYLJ       DNLJ        CXS
---------- ----- ---------- ---------- ---------- ---------- ---------- ---------- ----------
公司1      01209        261        142        142        102         47         39        238
公司1      01209        516        280        278        204         46         54        472

其中:
--1. 今天                jt        从 XSRHZB11 表中取出ywrq='jt'         的对 sl 和 je 的汇总放在JT这一列
--2. 昨天                zt        从 XSRHZB11 表中取出ywrq='zt'         的对 sl 和 je 的汇总放在ZT这一列         
--3. 上月今天                syjt        从 XSRHZB11 表中取出ywrq='syjt' 的对 sl 和 je 的汇总放在SYJT这一列       
--4. 去年同期                qntq        从 XSRHZB11 表中取出ywrq='qntq' 的对 sl 和 je 的汇总放在QNTQ这一列       

--5. 当月累计                dylj        从 XSYHZB11 表中取出yrq='dylj' 的对 sl 和 je 的汇总放在DYLJ这一列       
--6. 当年累计                nnlj        从 XSYHZB11 表中取出yrq='dnlj' 的对 sl 和 je 的汇总放在DNLJ这一列                       
--7. 纯销售是"今天"的一个子集: xsdxzb in ('12        01','1202','1211','1212','1221')
        即,从 XSRHZB11 表中取出ywrq='jt' and xsd        xzb in ('1201','1202','1211','1212','1221') 的对 sl 和 je 的汇总放在CXS这一列
                                               
要求取出YWRQ分别为(JT、ZT、SYJT 、QNTQ、 ZT        、DYLJ、 DNLJ)的分别对SL和金额两个字段的汇总值,
并且CXS这一列的值为WHERE YWRQ='JT' AND xsd        xzb in ('1201','1202','1211','1212','1221')的对SL和金额两个字段的汇总值,
即,纯销售这一列是JT这一列的一个子集。从而得到如下结果,有什么好办法么???
第一行为满足条件的SL的汇总值,第二行为满足条件的JE的汇总值
(如果可以考虑到执行效率是最好的了,因为这个表的实际数据是百万级的。以下是DEMO数据。
另外,不知道是不是应当将这个表按照时间或其他什么分段存储,从而改进性能???)

DWMC       DWDM          JT         ZT       SYJT       QNTQ       DYLJ       DNLJ        CXS
---------- ----- ---------- ---------- ---------- ---------- ---------- ---------- ----------
公司1      01209        261        142        142        102         47         39        238
公司1      01209        516        280        278        204         46         54        472

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/747/viewspace-483408/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-09-27

  • 博文量
    33
  • 访问量
    77937