select t.id_ cusId,t.building_no_ buildingNO,t.house_no_ houseNO,t.room_no_ roomNO,
tb.name_ areaName,
tc.year_ chargeYear,
case
when t.AREA_ID_ is null then
'all'
when t.AREA_ID_ is not null and t.BUILDING_NO_ is null then
'all'
when t.AREA_ID_ is not null and
(t.HOUSE_NO_ is null or t.ROOM_NO_ is null) then
'part'
else
t.CUS_NAME_
end cusName,
tc.is_owe_ isOwe,
tt.name_ cusTypeName,
t.tel_ cusTel,
sum(tc.heating_area_) heatingArea,
sum(nvl(cc.real_income_money_,0)) realIncomeMoney,
sum(nvl(decode(t.cus_type_id_,1,byp.JM_PRICE_,2,byp.DS_PRICE_,3,BYP.GJ_PRICE_)*tc.heating_area_,0)) deserveMoney,
nvl(sum(case when tc.IS_OWE_='1' then tc.OWE_MONEY_ end), 0) oweMoney
from t_customer_infos t
left join t_cus_year_status tc on t.id_ = tc.cus_id_
left join t_base_areas tb on t.area_id_ = tb.id_
left join t_base_customer_types tt on t.cus_type_id_ = tt.id_
left join (
select tch.cus_id_,tch.year_,sum(tch.real_income_money_) as real_income_money_
from t_cus_charges tch group by tch.year_,tch.cus_id_
) cc on tc.year_ = cc.year_ and t.id_ = cc.cus_id_
left join t_base_year_price byp on byp.year_ = tc.year_ and byp.status_ = '1'
where t.STATUS_='1' and t.heating_area_<>0
GROUP BY GROUPING SETS((tc.year_),(tc.year_,t.area_id_,tb.name_),(tc.year_,t.area_id_,tb.name_,t.building_no_),
(tc.year_,t.area_id_,tb.name_,t.building_no_,t.house_no_),(tc.year_,t.area_id_,tb.name_,t.building_no_,t.house_no_,t.room_no_,t.cus_name_,tt.name_,t.tel_,tc.is_owe_,t.id_))
order by t.area_id_
其中的‘part’和‘all’,分别表示小计和总计,可以根据具体的需要修改;grouping sets是依次按照括号里面的内容进行分组。
分享到:
相关推荐
经典面试题目:有一个学生记录的表student,形式如下: name class sex 1 a 1(男) 2 b 2(女) 3 c 1 4 a...class 男(1) 女(2) a 3 1 b 0 1 c 1 0 用一句select语句实现
在SQL语言中,可以使用Select isnull(sum(字段名),0)来实现统计函数。 七、数据窗口SQL脚本中 在PB脚本中,可以使用Where后跟的条件语句:Int型字段名=DATEPART(yyyy,getdate())*100+DATEPART(month,getdate())来...
**泛微系统SQL语句大全** 在IT行业中,泛微系统是一种广泛应用的企业级协同办公软件,主要用于提升组织的管理效率和工作流程自动化。本资源集合了泛微系统中与SQL Server数据库交互时常用的各种SQL语句,涵盖了组织...
- **VBE环境下ADO方式执行SQL**:在Visual Basic for Applications (VBA)环境中,使用ActiveX Data Objects (ADO)技术可以实现SQL语句的自动化执行,适用于大规模数据处理和脚本编程。 综上所述,SQL在ArcGIS中的...
4. **可视化展示**:SQLTracker通常会提供直观的图表和统计信息,使用户能快速理解和对比不同SQL语句的执行效率。 5. **性能优化**:通过分析SQLTracker提供的数据,用户可以进行SQL语句的优化,例如调整索引、改进...
本文从SQL语句在医院临时性数据统计中的应用出发,探讨了如何高效利用SQL语句来挖掘医院业务系统中各项数据,提高数据资源的利用率,并确保统计工作的准确性与效率。 首先,SQL(Structured Query Language)是一种...
在本文中,我们将深入探讨如何使用SQL语句实现分组小计统计,这是一个常见的需求,尤其是在数据分析、报表生成和业务洞察领域。我们将基于提供的部分代码示例,详细解释其背后的逻辑和技术要点。 ### SQL实现分组小...
总结来说,这个库存收发存报表汇总统计的数据库语句实现展示了如何利用SQL的联接、窗口函数以及递归查询等高级特性,有效地处理库存管理中的复杂业务逻辑。对于IT从业者来说,掌握这些技能不仅可以提高工作效率,还...
在易语言中可以通过SQL语句来实现这一操作。 **示例代码:** ```sql SELECT * INTO b FROM a WHERE 1<>1 ``` **说明:** 此SQL语句的功能是创建一个名为`b`的新表,并将`a`表的结构复制到`b`表中。其中`WHERE 1<>1`...
比如,用户可以根据需求生成计算字段值的函数,如SUM、AVG、MAX、MIN等统计函数,或者DATE_FORMAT等日期时间处理函数,大大增强了SQL语句的灵活性和实用性。 从文件列表来看,`res.dll`可能是资源库文件,包含了...
2. SQL语法结构:SQL语句通常由命令关键字组成,包括SELECT、INSERT、UPDATE、DELETE等。这些关键字用于查询、插入、更新和删除数据。例如,SELECT语句用于从数据库中检索数据,INSERT用于添加新记录,UPDATE用于...
《SQL语句大全》是一本全面介绍SQL语言的电子书籍,涵盖了从基础到高级的各种SQL操作,旨在帮助读者深入理解和熟练运用SQL进行数据库管理和数据处理。SQL,全称Structured Query Language,即结构化查询语言,是用于...
这本书“SQL语句电子书”显然涵盖了这一主题的广泛内容,旨在帮助读者掌握SQL的基本概念以及高级技巧。 一、SQL基础 1. 数据库概念:SQL语句首先需要理解数据库是什么,包括关系型数据库的基本原理,如表、字段、...
支持用友U8_12.5及以上 根据期初库存与出入库单据统计某日库存量 可实现通过批号或序列号统计,汇总
本文将详细解析如何通过SQL语句实现这一功能,包括但不限于使用`COUNT()`函数、嵌套查询、类型转换等技术点。 ### SQL语句分析 #### 基础概念 在进行SQL查询时,我们经常需要统计某些数据出现的次数或占比。例如,...
这条SQL语句用于统计每个用户的年度月度费用,其中`DECODE`函数用于根据月份筛选出对应的费用并求和。 **应用场景**: - 财务报表中统计用户月度费用。 - 适用于任何需要按月份分类汇总数据的情况。 以上就是从...
### DB2数据库SQL语句大全 #### 1. 强制关闭所有应用程序 ```sql db2forceapplicationall ``` 此命令用于强制关闭所有正在运行的应用程序,确保在进行维护操作之前所有的应用程序都已关闭。 #### 2. 在线备份...
使用以下 SQL 语句可以轻松实现: ```sql SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(@dateofbirth)), '%Y') + 0; ``` 这条语句将当前日期减去出生日期,计算出生日期到当前日期的天数,然后使用 `...
根据提供的文件信息,本文将详细解释如何使用SQL语句实现数据的时间递增累加功能。在实际业务场景中,这种需求非常常见,特别是在财务、库存管理或者数据分析等领域,需要跟踪随时间变化的数据趋势。 ### 一、理解...
【SQL语句练习提高】 在SQL中,查询和操作数据是其核心功能。以下通过给出的练习题目,我们将深入理解SQL的基本句式和用法。 28. 题目要求从`employee`表中抽取部门名称(depart_name),计算平均工资(avg(wage)...