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`)将两个字段拼接到一块
  • 相关阅读:
    通过DialogFragment从DatePicker或TimePicker中获取日期数据
    解决android.os.NetworkOnMainThreadException
    关于在Java EE 下开发web,出现项目中的外部包没有tomcat的包的原因
    HTTP method GET is not supported by this URL(转)
    tomcat安装和基本配置
    ubuntu 下面手动安装jdk
    用django搭建一个简易blog系统(翻译)(四)
    用django搭建一个简易blog系统(翻译)(三)
    用django搭建一个简易blog系统(翻译)(二)
    用django搭建一个简易blog系统(翻译)(一)
  • 原文地址:https://www.cnblogs.com/xianz666/p/13601194.html
Copyright © 2011-2022 走看看