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`)将两个字段拼接到一块
  • 相关阅读:
    [XPath] XPath 与 lxml (五)XPath 实例
    [XPath] XPath 与 lxml (四)XPath 运算符
    [XPath] XPath 与 lxml (三)XPath 坐标轴
    [XPath] XPath 与 lxml (二)XPath 语法
    拥抱.NET Core系列:MemoryCache 缓存过期
    拥抱.NET Core系列:MemoryCache 初识
    一个开源的强类型客户端(.NET 中的 Open Fegin)— Rabbit Go
    Configuration Extensions
    拥抱.NET Core系列:Logging (1)
    拥抱.NET Core系列:依赖注入(2)
  • 原文地址:https://www.cnblogs.com/xianz666/p/13601194.html
Copyright © 2011-2022 走看看