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/ ...
随机推荐
- C C++ 数字后面加 LL是什么意思
long long类型,在赋初值的时候,如果大于2的31次方-1,那么后面需要加上LL
- H5C302
H5C302 1.网络监听端口 ononline及onoffline事件 2.全屏接口 注意:在使用时不同浏览器需要添加不同的前缀: chrome:webkit firefox:moz ie:ms o ...
- HTML5 学习08——Input 类型、表单元素及属性
注意:并不是所有的主流浏览器都支持新的input类型,不过您已经可以在所有主流的浏览器中使用它们了.即使不被支持,仍然可以显示为常规的文本域. (1)Input 类型: color color 类型: ...
- 最课程阶段大作业06:U度节能平台控制系统
除了互联网项目,当今社会还有一个概念非常流行,那就是:物联网.什么是物联网?物联网是通过传感设备,按约定的协议,把任意物品与互联网相连接,进行信息交换和通信,以实现智能化识别.定位.跟踪.监控和管理的 ...
- springboot 注解整理
项目用到的注解作用: bean的分类标识@Service: 注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表 ...
- one-stage object detectors(1)
2019/04/08 强烈推荐:深入理解one-stage目标检测算法 yolo系列 one-stage object detectors(YOLO and SSD) 在不专一的模型中,每个检测器应该 ...
- Javascript正则表达入参是null
今天群友问了一个问题,如下的执行结果是什么? var reg = /^[a-z0-9\u4e00-\u9fa5]{0,15}$/; console.log(reg.test(null)); // tr ...
- 我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=i5j7gwrxj9x5
我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=i5j7gwrxj9x5
- 关于Jenkins日志爆满的解决方法
最近发现公司的jenkins因为日志量太大把磁盘占满,查看日志文件“/var/log/jenkins/jenkins.log”几分钟产生了几十G的日志 而且日志还在一直增长,内容如下 120: 313 ...
- 使用日志服务进行Kubernetes日志采集
阿里云容器服务Kubernetes集群集成了日志服务(SLS),您可在创建集群时启用日志服务,快速采集Kubernetes 集群的容器日志,包括容器的标准输出以及容器内的文本文件. 新建 Kubern ...