mybatis的union查询

您所在的位置:网站首页 mybatis去重后分页 mybatis的union查询

mybatis的union查询

2024-07-15 18:54| 来源: 网络整理| 查看: 265

业务需求中,连表查询根据表的某个字段,这个字段可能为空 如果为空,根据这个表的另外一个字段查询,用union连接对结果去重即可

SELECT DISTINCT b.SAMPLE_NO, b.ID, b.SPECIMEN_ID, b.RECEIVED_SPECIMEN_TIME, b.RECEIVED_SPECIMEN_PLACE, b.RECEIVER, b.SENDER, b.REMARK, b.RECORD_STATUS, b.CREATE_TIME, b.MODIFY_TIME, r.Name, t.ASSAY_NO FROM BIZ_SPECIMEN_LAB_RECEPTION b LEFT JOIN BIZ_ASSAY_ORDER_SAMPLE o on o.SAMPLE_NO=b.SAMPLE_NO LEFT JOIN RES_LABORATORY r on r.ID=o.SAMP_PREP_DEPT_CODE LEFT JOIN BIZ_ASSAY_TASK_INFO t ON t.SAMPLE_NO=b.SAMPLE_NO LEFT JOIN BIZ_ASSAY_ITEM_DATA d on d.SPECIMEN_ID=b.SPECIMEN_ID WHERE 1=1 AND d.ASSAY_STATUS=0 AND r.ID=#{laboratoryId} AND b.SAMPLE_NO=#{sampleNo} and .RECEIVED_SPECIMEN_TIME>=to_date(#{fromDate}, 'yyyy-mm-dd') ]]> and .RECEIVED_SPECIMEN_TIME UNION SELECT DISTINCT b.SAMPLE_NO, b.ID, b.SPECIMEN_ID, b.RECEIVED_SPECIMEN_TIME, b.RECEIVED_SPECIMEN_PLACE, b.RECEIVER, b.SENDER, b.REMARK, b.RECORD_STATUS, b.CREATE_TIME, b.MODIFY_TIME, r.Name, t.ASSAY_NO FROM BIZ_SPECIMEN_LAB_RECEPTION b LEFT JOIN BIZ_ASSAY_ORDER_SAMPLE o on o.SAMPLE_NO=b.SAMPLE_NO LEFT JOIN RES_LABORATORY r on r.ID=o.SAMP_PREP_DEPT_CODE LEFT JOIN BIZ_ASSAY_TASK_INFO t ON t.SAMPLE_NO=b.SAMPLE_NO LEFT JOIN BIZ_ASSAY_ITEM_DATA d on d.ASSAY_TASK_INFO_ID=t.ID WHERE 1=1 AND d.ASSAY_STATUS=0 AND r.ID=#{laboratoryId} AND b.SAMPLE_NO=#{sampleNo} and .RECEIVED_SPECIMEN_TIME>=to_date(#{fromDate}, 'yyyy-mm-dd') ]]> and .RECEIVED_SPECIMEN_TIME

union,默认为union distinct,已经对结果去重了,所以不用加distinct union,返回去重后的数据 union all,返回所有的数据



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3