UNION ALL的用法
" ?> -mapper.dtd" > <mapper namespace="com.j1.soa.resource.order.oracle.dao.TpInfoMapper"> <resultMap id="TpInfoResultMap" type="TpInfo"> <result column="ID" jdbcType="DECIMAL" property="id" /> <result column="AVAILABLE_BALANCE" jdbcType="DECIMAL" property="availableBalance" /> </resultMap> <resultMap id="TpPolicyResultMap" type="TpInfo"> <result column="END_DATE" jdbcType="VARCHAR" property="dueDate" /> <result column="BALANCE" jdbcType="VARCHAR" property="dueAmount" /> </resultMap> <resultMap id="TpConsumeRecordMap" type="TpConsumeRecord"> <result column="POLICY_NO" jdbcType="VARCHAR" property="policyNo" /> <result column="BUSINESS_ID" jdbcType="VARCHAR" property="businessId" /> <result column="AMOUNT" jdbcType="VARCHAR" property="amount" /> <result column="ADD_TIME" jdbcType="VARCHAR" property="amountTime" /> <result column="OPERATION" jdbcType="VARCHAR" property="amountStatus" /> </resultMap> <resultMap id="AmountSumMap" type="TpConsumeRecord"> <result column="AMOUNT" jdbcType="VARCHAR" property="amount" /> <result column="OPERATION" jdbcType="VARCHAR" property="amountStatus" /> </resultMap> <sql id="be_fy"> select * from (select row_.*, rownum rownum_ from ( </sql> <!-- 用于分页的尾部 --> <sql id="ed_fy"> ) row_ <![CDATA[ and rownum <= #{offset}+#{pageSize} ]]> ) <![CDATA[ and rownum_ > #{offset} ]]> </sql> <select id="checkIsTp" parameterType="java.lang.Long" resultType="java.lang.Integer"> select count(*) from fec.tp_account tpa where tpa.member_id = #{memberId,jdbcType=DECIMAL} and tpa.is_delete = 'N' </select> <select id="getTpInfo" parameterType="java.lang.Long" resultMap="TpInfoResultMap"> select tpp.tp_account_id as id, sum(tpp.balance) as available_balance from fec.tp_account tpa, fec.tp_policy tpp where tpa.member_id = #{memberId,jdbcType=DECIMAL} and tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' group by tpp.tp_account_id </select> <select id="getLimitPolicy" parameterType="java.lang.Long" resultMap="TpPolicyResultMap"> select tpp.balance,tpp.end_date from fec.tp_policy tpp where tpp.tp_account_id = #{tpAccountId,jdbcType=DECIMAL} <![CDATA[ and TO_DATE(tpp.end_date, 'yyyy-mm-dd') <= TO_DATE(TO_CHAR(sysdate + interval '2' month, 'yyyy-mm-dd'), 'yyyy-mm-dd') and TO_DATE(tpp.start_date, 'yyyy-mm-dd') <= TO_DATE(TO_CHAR(sysdate,'yyyy-mm-dd'), 'yyyy-mm-dd') and TO_DATE(tpp.end_date, 'yyyy-mm-dd') >=TO_DATE(TO_CHAR(sysdate, 'yyyy-mm-dd'), 'yyyy-mm-dd') and tpp.is_delete = 'N' ]]> order by tpp.end_date </select> <select id="getTpConsumeRecordList" parameterType="Pageable" resultMap="TpConsumeRecordMap"> <include refid="be_fy"/> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo,fec.tp_account tpa,fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{params.memberId} <if test="params.beginDate != null"> <![CDATA[ and to_date(tpo.add_time,'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(#{params.beginDate},'yyyy-mm-dd hh24:mi:ss') ]]> </if> <if test="params.endDate != null"> <![CDATA[ and to_date(tpo.add_time,'yyyy-mm-dd hh24:mi:ss') <= TO_DATE(#{params.endDate},'yyyy-mm-dd hh24:mi:ss') ]]> </if> group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION order by tpo.add_time desc <include refid="ed_fy"/> </select> <select id="getTpConsumeRecordListCount" parameterType="TpConsumeRecord" resultType="Integer"> ) from (select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo,fec.tp_account tpa,fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{memberId} <if test="beginDate != null"> <![CDATA[ and to_date(tpo.add_time,'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(#{beginDate},'yyyy-mm-dd hh24:mi:ss') ]]> </if> <if test="endDate != null"> <![CDATA[ and to_date(tpo.add_time,'yyyy-mm-dd hh24:mi:ss') <= TO_DATE(#{endDate},'yyyy-mm-dd hh24:mi:ss') ]]> </if> group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION order by tpo.add_time desc) </select> <select id="getAmountSumByOperation" parameterType="TpConsumeRecord" resultMap="AmountSumMap"> select sum(tpo.amount) || '' as amount, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{memberId} <if test="beginDate != null"> <![CDATA[ and to_date(tpo.add_time,'yyyy-mm-dd hh24:mi:ss') >= TO_DATE(#{beginDate},'yyyy-mm-dd hh24:mi:ss') ]]> </if> <if test="endDate != null"> <![CDATA[ and to_date(tpo.add_time,'yyyy-mm-dd hh24:mi:ss') <= TO_DATE(#{endDate},'yyyy-mm-dd hh24:mi:ss') ]]> </if> group by tpo.OPERATION </select> <select id="getTpExceptionInfo" parameterType="Pageable" resultMap="TpConsumeRecordMap"> <include refid="be_fy"/> '"> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{params.memberId} and tpo.operation in (${params.amountStatus}) group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION </if> <if test="params.amountStatus == 'all'"> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{params.memberId} ') group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION union all select tpp.policy_no, 'invalid' as business_id, tpp.balance || '', tpp.end_date as add_time, ' as OPERATION from fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.is_delete = 'N' and tpa.member_id = #{params.memberId} <![CDATA[ and TO_DATE(tpp.end_date || '23:59:59', 'yyyy-mm-dd hh24:mi:ss') < to_date(to_char(sysdate, 'yyyy-mm-dd') || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') ]]> </if> '"> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{params.memberId} ') group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION UNION ALL select tpp.policy_no, 'invalid' as business_id, tpp.balance || '', tpp.end_date as add_time, ' as OPERATION from fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.is_delete = 'N' and tpa.member_id = #{params.memberId} <![CDATA[ and TO_DATE(tpp.end_date || '23:59:59', 'yyyy-mm-dd hh24:mi:ss') < to_date(to_char(sysdate, 'yyyy-mm-dd') || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') ]]> </if> order by add_time desc <include refid="ed_fy"/> </select> <select id="getTpExceptionInfoCount" parameterType="TpConsumeRecord" resultType="Integer"> ) from ( '"> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{memberId} and tpo.operation in (${amountStatus}) group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION </if> <if test="amountStatus == 'all'"> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{memberId} ') group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION union all select tpp.policy_no, 'invalid' as business_id, tpp.balance || '', tpp.end_date as add_time, ' as OPERATION from fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.is_delete = 'N' and tpa.member_id = #{memberId} <![CDATA[ and TO_DATE(tpp.end_date || '23:59:59', 'yyyy-mm-dd hh24:mi:ss') < to_date(to_char(sysdate, 'yyyy-mm-dd') || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') ]]> </if> '"> select tpo.policy_no, tpo.business_id, sum(tpo.amount) || '' as amount, tpo.add_time, tpo.OPERATION from fec.tp_policy_operation_log tpo, fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.policy_no = tpo.policy_no and tpp.is_delete = 'N' and tpa.member_id = #{memberId} ') group by tpo.policy_no, tpo.business_id, tpo.add_time, tpo.OPERATION UNION ALL select tpp.policy_no, 'invalid' as business_id, tpp.balance || '', tpp.end_date as add_time, ' as OPERATION from fec.tp_account tpa, fec.tp_policy tpp where tpa.id = tpp.tp_account_id and tpa.is_delete = 'N' and tpp.is_delete = 'N' and tpa.member_id = #{memberId} <![CDATA[ and TO_DATE(tpp.end_date || '23:59:59', 'yyyy-mm-dd hh24:mi:ss') < to_date(to_char(sysdate, 'yyyy-mm-dd') || ' 23:59:59', 'yyyy-mm-dd hh24:mi:ss') ]]> </if> order by add_time desc) </select> </mapper>
UNION ALL的用法的更多相关文章
- 转 SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题
SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题 SQL Union和SQL Union All用法 SQL UNION 操作符 UN ...
- Union all的用法实例sql
---Union all的用法实例sqlSELECT TOP (100) PERCENT ID, bid_user_id, UserName, amount, createtime, borrowTy ...
- struct与 union的基本用法
结构体与联合体是C语言的常见数据类型,可对C的基本数据类型进行组合使之能表示复杂的数据结构,意义深远,是优异代码的必备工具.一. struct与 union的基本用法,在语法上union ...
- mysql left join和union结合的用法
left join和union结合的用法子查询union 然后加个括号设置个别名 (union自动去除 重复的 ) <pre>select o.nickName,o.sex,o.provi ...
- union与union all的用法给区别
用法: 当我们需要把两个或多个sql联合起来查询就用到了union或者union all 区别: 这两者的区别就在于union会自动的把多个sql查出来重复的排除掉,而union all这是会全部显示 ...
- sql union和union all的用法及效率
UNION指令的目的是将两个SQL语句的结果合并起来.从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料. UNION的一个限制是两个 ...
- Phalapi 中Union和Union All的用法
有时候在进行数据库查询的时候会用到union查询,但是查询的时候会发现两个limit只有一个是有效的,如下查询 select * from table where status = 0 limit 1 ...
- sql中union和union all的用法
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和unio ...
- union all 简单用法
select Y.ID,sum(cast(Y.m as int)) as hefrom(select top 10 a.ID,a.AlarmSource as m from dbo.AlarmInfo ...
- group By 和 Union 、 Union all的用法
我学习的是MySQL,学习写sql语句过程中遇到Group By 和 Union. 大家乐意看这两个链接,写的很好 Group By: www.cnblogs.com/rainman/archive/ ...
随机推荐
- 什么是redis?redis有什么用途?
1. Redis: 1.1. 什么是redis: redis是一个开源(BSD许可)的,内存中的数据结构存储系统 1.2. Redis的用途: 数据库.缓存和消息中间件 1.3. 数据类型: 字符串( ...
- 命令和python模式转换
安装完paython成功之后,就必须了解一下:命令模式和python交互模式 1.我们输入 cmd 之后进入的运行环境就是命令模式 2.在命令模式下输入 python,看到>>> ...
- 25条div+CSS编程提醒及小技巧整理
1.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值. 2.同一个的class选择符可以在一个文档中重复出现,而id选择符却只能出现一次:对一个标签同时使用clas ...
- react-native 报错 RawText "" must be wrapped in an explicit <Text> component
刚才又遇到了一个坑,找了好久,问题如下: 开始以为是Text标签怎么有问题了,结果是下面的原因影响的: 上图第二行,标签和注释中间多了一个空格,就会报这个错误. 解决办法 1.将空格删掉 <Re ...
- windows service卸载
.使用组合键win+r 调出服务页面 2.查看想要删除的服务的名称:如: 3.执行删除操作
- 常见的git清单
我们每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 这篇文章是从别人博客上copy重新整理出来的,作为笔记用, ...
- 咏南新CS三层开发框架
咏南新CS三层开发框架 咏南WEB桌面框架演示:47.106.93.126:9999 咏南WEB手机框架本地:47.106.93.126:8077 咏南CS框架下载:https://pan.baidu ...
- iOS10 11跳转系统设置等的URL收集
Settings App-Prefs:root Settings -> About App-Prefs:root=General&path=About Settings -> Ac ...
- 《分布式任务调度平台XXL-JOB》
一.简介 1.1 概述 XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 1.2 特性 1.简单:支 ...
- windows10开启hyper-v虚拟化
windows积极融入虚拟化,对pc体验很不错的! 01.程序更新组件 控制面板--->程序-->打开/关闭 windwods功能--->更新完毕,重启windows 02.确认是否 ...