zoukankan      html  css  js  c++  java
  • 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`)&lt;=#{startTime} and #{startTime}&lt; concat(`meeting_date`,' ',`end_time`))  or
                (concat(`meeting_date`,' ',`start_time`)&lt;=#{endTime} and #{endTime} &lt; 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 &lt;= #{endDate}
                </if>
                <if test="noEndDate != null and noEndDate !='' ">
                    and meeting_date &gt;= #{noEndDate}
                </if>
                <if test="noEndTime != null and noEndTime !='' ">
                    and concat(`meeting_date`,' ',`end_time`) &gt; #{noEndTime}
                </if>
                <if test="endTime != null and endTime !='' ">
                    and concat(`meeting_date`,' ',`end_time`) &lt; #{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 &lt;= #{endDate}
                </if>
                <if test="noEndDate != null and noEndDate !='' ">
                    and meeting_date &gt;= #{noEndDate}
                </if>
                <if test="noEndTime != null and noEndTime !='' ">
                    and concat(`meeting_date`,' ',`end_time`) &gt; #{noEndTime}
                </if>
                <if test="endTime != null and endTime !='' ">
                    and concat(`meeting_date`,' ',`end_time`) &lt; #{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 &lt;= #{endDate}
                </if>
                <if test="noEndDate != null and noEndDate !='' ">
                    and meeting_date &gt;= #{noEndDate}
                </if>
                <if test="noEndTime != null and noEndTime !='' ">
                    and concat(`meeting_date`,' ',`end_time`) &gt; #{noEndTime}
                </if>
                <if test="endTime != null and endTime !='' ">
                    and concat(`meeting_date`,' ',`end_time`) &lt; #{endTime}
                </if>
    
            </where>
        </select>
    //
    concat(`meeting_date`,' ',`end_time`)将两个字段拼接到一块
  • 相关阅读:
    用Python抓取并分析了1982场英雄联盟数据,教你开局前预测游戏对局胜负!
    初级练手项目——用Python一步一步实现“智能”贪吃蛇!
    这五本Python急速入门必读的书,送给正在学习Python的你!
    探讨2018年最受欢迎的15顶级Python库!
    运用Python制作你心目中的完美女神脸!
    掌握这些Python代码技巧,编程至少快一半!
    解决Protege使用中的一个问题:从已有owl文件建立项目失败(w3china)
    http响应状态码
    云计算二 转帖
    protege中Property Domains and Ranges理解
  • 原文地址:https://www.cnblogs.com/xianz666/p/13601194.html
Copyright © 2011-2022 走看看