码迷,mamicode.com
首页 > 其他好文 > 详细

模块管理常规功能自定义系统的设计与实现(38--终级阶段 综合查询[5])

时间:2014-05-13 05:33:09      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:extjs4   设计   管理   spring mvc   

综合查询(5)--基准模块的选择


       什么是基准模块,就是你的综合查询要以哪个模块作为查询的主模块,我没想到其他的词,就用这个来表示一下。具体的来说,就是你选择了若干个模块的字段组成了一个查询,你究竞是想展示哪个模块的内容。比如我们前几节的例子中,选择的模块有“订单”和“订单明细”,里面有分别以“订单”和“订单明细”作为基准模块的截图。现在来具体讲讲二个父子模块作为基准模块时的不同之处。

        1、子模块作为基准模块:这时所有的父模块的字段都会加入。
bubuko.com,布布扣

查询的sql 语句为:
    select
    		// 订单明细的字段
        _t6050.tf_ordersDetailId as tf_ordersDetailId ,
        _t6050.tf_name as tf_name ,
        _t6050.tf_number as tf_number ,
        _t6050.tf_unitPrice as tf_unitPrice ,
        _t6050.tf_subtotalPrice as tf_subtotalPrice ,
        _t6050.tf_remark as tf_remark ,
        
        //订单的字段
        _t6040.tf_date as _t6040___tf_date ,
        _t6040.tf_finished as _t6040___tf_finished ,
        _t6040.tf_ordersId as _t6040___tf_ordersId ,
        _t6040.tf_ordersNumber as _t6040___tf_ordersNumber ,
    from
        OrdersDetail _t6050 //订单明细
    left outer join
        Orders _t6040 //订单
            on _t6040.tf_ordersId = _t6050.tf_ordersId  

        2、当以父模块作为基准模块时,子模块的记录就只能以聚合字段的形式出现了,没有聚合操作的字段将会被舍去。

bubuko.com,布布扣

生成的sql 语句为:

    select
    		//订单信息
        _t6040.tf_ordersId as tf_ordersId ,
        _t6040.tf_ordersNumber as tf_ordersNumber ,
        _t6040.tf_date as tf_date ,
        _t6040.tf_finished as tf_finished ,
        _t6040.tf_remark as tf_remark ,
        
        //订单明细的数量汇总
        ( select
            sum(_t6050.tf_number)  
        from
            OrdersDetail _t6050 
        left outer join
            Orders _child_t6040 
                on _child_t6040.tf_ordersId = _t6050.tf_ordersId  
        where
            _child_t6040.tf_ordersId = _t6040.tf_ordersId ) as S__t6050___tf_number ,
            
        //订单明细的金额汇总
        ( select
            sum(_t6050.tf_subtotalPrice)  
        from
            OrdersDetail _t6050 
        left outer join
            Orders _child_t6040 
                on _child_t6040.tf_ordersId = _t6050.tf_ordersId  
        where
            _child_t6040.tf_ordersId = _t6040.tf_ordersId ) as S__t6050___tf_subtotalPrice 

    from
        Orders _t6040 

        上面的例子里只出现了求和的聚合操作,那么如果要加入计数,最大值,最小值,平均值要如何操作呢。前面几节在介绍选择字段,输入字段的条件时,在条件值的下面有5个checkbox ,用来设置该字段,可以生成哪些个聚合的字段。

bubuko.com,布布扣

确定后执行后,我们来看看查询结果:

bubuko.com,布布扣

        sql语句和上面的类似就是加入了count ,max ,min,avg 等。这个界面上以后还能加入扩展功能,比如说在“数量个数”的值上加个链接,一点就能看到明细;在“数量最大值”的值上加个链接,一点就能查看最大值的那个“订单明细”等等。





模块管理常规功能自定义系统的设计与实现(38--终级阶段 综合查询[5]),布布扣,bubuko.com

模块管理常规功能自定义系统的设计与实现(38--终级阶段 综合查询[5])

标签:extjs4   设计   管理   spring mvc   

原文地址:http://blog.csdn.net/jfok/article/details/25591697

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!