sql将两个查询结果拼接到一块,去掉重复,动态sql
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.meeting.mapper.MeetingMapper"> <delete id="deleteMeeting">
delete from blade_meeting where meeting_code=#{meetingCode}
</delete>
<select id="getMeetingList" parameterType="org.springblade.desk.meeting.entity.MeetingEntity" resultType="org.springblade.desk.meeting.entity.MeetingEntity">
select * from blade_meeting where tenant_id=#{tenantId}
<if test="meetingDate != null and meetingDate !=''">
and meeting_date=#{meetingDate}
</if>
<if test="startTime != null and startTime !='' or endTime != null and endTime !=''">
and (
( concat(`meeting_date`,' ',`start_time`)<=#{startTime} and #{startTime}< concat(`meeting_date`,' ',`end_time`)) or
(concat(`meeting_date`,' ',`start_time`)<=#{endTime} and #{endTime} < concat(`meeting_date`,' ',`end_time`)) )
</if>
<if test="months != null and months !='' ">
and (meeting_date like '%%${months}%%')
</if>
<if test="meetingAddress != null and meetingAddress !=''">
and meeting_address =#{meetingAddress}
</if> </select>
<select id="getMyJoinMeetingPage" resultType="org.springblade.desk.meeting.entity.MeetingEntity">
select * from (select a.* from blade_meeting a left join blade_meeting_person b on a.meeting_code=b.meeting_code
where b.join_person_code=#{joinPersonCode}
UNION
select * from blade_meeting
where meeting_launch_person_code=#{joinPersonCode}) t
<where>
<if test="meetingName != null">
(meeting_name like '%%${meetingName}%%')
</if>
<if test="meetingDate != null">
and (meeting_date like '%%${meetingDate}%%')
</if>
<if test="endDate != null and endDate !='' ">
and meeting_date <= #{endDate}
</if>
<if test="noEndDate != null and noEndDate !='' ">
and meeting_date >= #{noEndDate}
</if>
<if test="noEndTime != null and noEndTime !='' ">
and concat(`meeting_date`,' ',`end_time`) > #{noEndTime}
</if>
<if test="endTime != null and endTime !='' ">
and concat(`meeting_date`,' ',`end_time`) < #{endTime}
</if>
</where>
order by meeting_date desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.meeting.mapper.MeetingMapper"> <delete id="deleteMeeting">
delete from blade_meeting where meeting_code=#{meetingCode}
</delete>
<select id="getMeetingList" parameterType="org.springblade.desk.meeting.entity.MeetingEntity" resultType="org.springblade.desk.meeting.entity.MeetingEntity">
select * from blade_meeting where tenant_id=#{tenantId}
<if test="meetingDate != null and meetingDate !=''">
and meeting_date=#{meetingDate}
</if>
<if test="startTime != null and startTime !='' or endTime != null and endTime !=''">
and ( (#{startTime} between concat(`meeting_date`,' ',`start_time`) and concat(`meeting_date`,' ',`end_time`)) or
(#{endTime} between concat(`meeting_date`,' ',`start_time`) and concat(`meeting_date`,' ',`end_time`))
)
</if>
<if test="months != null and months !='' ">
and (meeting_date like '%%${months}%%')
</if>
<if test="meetingAddress != null and meetingAddress !=''">
and meeting_address =#{meetingAddress}
</if> </select>
<select id="getMyJoinMeetingPage" resultType="org.springblade.desk.meeting.entity.MeetingEntity">
select * from (select a.* from blade_meeting a left join blade_meeting_person b on a.meeting_code=b.meeting_code
where b.join_person_code=#{joinPersonCode}
UNION
select * from blade_meeting
where meeting_launch_person_code=#{joinPersonCode}) t
<where>
<if test="meetingName != null">
(meeting_name like '%%${meetingName}%%')
</if>
<if test="meetingDate != null">
and (meeting_date like '%%${meetingDate}%%')
</if>
<if test="endDate != null and endDate !='' ">
and meeting_date <= #{endDate}
</if>
<if test="noEndDate != null and noEndDate !='' ">
and meeting_date >= #{noEndDate}
</if>
<if test="noEndTime != null and noEndTime !='' ">
and concat(`meeting_date`,' ',`end_time`) > #{noEndTime}
</if>
<if test="endTime != null and endTime !='' ">
and concat(`meeting_date`,' ',`end_time`) < #{endTime}
</if>
</where>
order by meeting_date desc
</select>
</mapper>
<select id="getMyJoinMeetingPage" resultType="org.springblade.desk.meeting.entity.MeetingEntity">
select * from (select a.* from blade_meeting a left join blade_meeting_person b on a.meeting_code=b.meeting_code
where b.join_person_code=#{joinPersonCode}
UNION
select * from blade_meeting
where meeting_launch_person_code=#{joinPersonCode}) t
<where>
<if test="meetingName != null">
(meeting_name like '%%${meetingName}%%')
</if>
<if test="meetingDate != null">
and (meeting_date like '%%${meetingDate}%%')
</if>
<if test="endDate != null and endDate !='' ">
and meeting_date <= #{endDate}
</if>
<if test="noEndDate != null and noEndDate !='' ">
and meeting_date >= #{noEndDate}
</if>
<if test="noEndTime != null and noEndTime !='' ">
and concat(`meeting_date`,' ',`end_time`) > #{noEndTime}
</if>
<if test="endTime != null and endTime !='' ">
and concat(`meeting_date`,' ',`end_time`) < #{endTime}
</if> </where>
</select>
//
concat(`meeting_date`,' ',`end_time`)将两个字段拼接到一块
sql将两个查询结果拼接到一块,去掉重复,动态sql的更多相关文章
- [moka同学笔记]YII2.0 判断签约状态,sql的两种查询方法
方法一: //判断签约状态 $signed = 0; $sql="SELECT * from usho_community_sign_record WHERE com_id=$r->i ...
- ms sql 根据表名查询 表中所有字段的属性值 sql语句
SELECT表名=case when a.colorder=1 then d.name else '' end,--表说明=case when a.colorder=1 then isnull(f.v ...
- mysql查询所有记录,并去掉重复的记录
select * from tablename group by name;如果是select * from tablename group by name,age;那么查询的是满足name和age都 ...
- 获取动态SQL查询语句返回值(sp_executesql)
在写存储过程时经常会遇到需要拼接SQL语句的情况,一般情况下仅仅是为了执行拼接后的语句使用exec(@sql)即可. 而今天的一个存储过程却需要获取动态SQL的查询结果. 需求描述:在某表中根据Id值 ...
- T-SQL动态查询(4)——动态SQL
接上文:T-SQL动态查询(3)--静态SQL 前言: 前面说了很多关于动态查询的内容,本文将介绍使用动态SQL解决动态查询的一些方法. 为什么使用动态SQL: 在很多项目中,动态SQL被广泛使用甚至 ...
- MyBatis学习总结(三)——多表关联查询与动态SQL
在上一章中我们学习了<MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射>,这一章主要是介绍一对一关联查询.一对多关联查询与动态SQL等内容. 一.多表关联查询 表与 ...
- sql server操作2:查询数据库语句大全【转】
注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一.实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二.实验内容和要求 使用SQL查询分析器查询数据,练 ...
- SQL SERVER中XML查询:FOR XML指定PATH
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...
- Sql Server 存储过程中查询数据无法使用 Union(All)
原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...
随机推荐
- 虚拟机VM15 Ubuntu18.04写第一个c程序并实现ssh连接
输入"su",再输入密码进入根用户 1.开启ssh服务 /etc/init.d/ssh start 若没有安装会出现: (1).安装ssh apt-get install open ...
- PyQt(Python+Qt)学习随笔:PyQt界面派生类构造方法中super方法的使用
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍>和订阅专栏<第 ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox增加自定义按钮的方法
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...
- flask中的重定向,渲染,反转视图函数
在学习flask中,重定向,渲染,反转老是不怎么明白,今天明白了其中的点了,来给大家分享下 rend_templete()这个函数就是一个渲染的作用,渲染html的东西. url_for是反转视图函数 ...
- Python追加文件内容
测试中需要造几百个账号,写了个脚本可以自动生成账号,但想把生成的账号写入一个文件, 开始用的如下的write()方法,发下会先把原文件的内容清空再写入新的东西,文件里面每次都是最新生成的一个账号 mo ...
- Raft概述
Raft 1. 概述 Raft是一种一致性(共识)算法,相比Paxos,Raft更容易理解和实现,它将分布式一致性问题分解成多个子问题,Leader选举(Leader election).日志复制(L ...
- 「TJOI / HEOI2016」求和 的一个优秀线性做法
我们把\(S(i, j)j!\)看成是把\(i\)个球每次选择一些球(不能为空)扔掉,选\(j\)次后把所有球都扔掉的情况数(顺序有关).因此\(S(i, j)j! = i![x^i](e^x - 1 ...
- 【学习笔记】使用 bitset 求解较高维偏序问题
求解五维偏序 给定 \(n(\le 3\times 10^4)\) 个五元组,对于每个五元组 \((a_i, b_i, c_i, d_i, e_i)\),求存在多少个 \(1\le j\le n\) ...
- K8s 终将废弃 docker,TKE 早已支持 containerd
近日 K8s 官方称最早将在 1.23版本弃用 docker 作为容器运行时,并在博客中强调可以使用如 containerd 等 CRI 运行时来代替 docker.本文会做详细解读,并介绍 dock ...
- RMAN迁移数据库(不改变文件目录)
1.目标库创建相应目录mkdir -p /u01/app/oracle/oradata/orclmkdir -p /u01/app/oracle/fast_recovery_area/ORCLmkdi ...