首页 > 代码库 > 模块管理常规功能自定义系统的设计与实现(38--终级阶段 综合查询[5])
模块管理常规功能自定义系统的设计与实现(38--终级阶段 综合查询[5])
综合查询(5)--基准模块的选择
什么是基准模块,就是你的综合查询要以哪个模块作为查询的主模块,我没想到其他的词,就用这个来表示一下。具体的来说,就是你选择了若干个模块的字段组成了一个查询,你究竞是想展示哪个模块的内容。比如我们前几节的例子中,选择的模块有“订单”和“订单明细”,里面有分别以“订单”和“订单明细”作为基准模块的截图。现在来具体讲讲二个父子模块作为基准模块时的不同之处。
1、子模块作为基准模块:这时所有的父模块的字段都会加入。
查询的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、当以父模块作为基准模块时,子模块的记录就只能以聚合字段的形式出现了,没有聚合操作的字段将会被舍去。
生成的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 ,用来设置该字段,可以生成哪些个聚合的字段。
确定后执行后,我们来看看查询结果:
sql语句和上面的类似就是加入了count ,max ,min,avg 等。这个界面上以后还能加入扩展功能,比如说在“数量个数”的值上加个链接,一点就能看到明细;在“数量最大值”的值上加个链接,一点就能查看最大值的那个“订单明细”等等。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。