mybatis实现多表联查

9 篇文章 0 订阅

在大型的系统开发中,设计的表比较多,有时候会用一个条件实现多表联查,这时候用union all会方便很多:

<!-- 获取撤单列表 -->
    <select id="queryList" parameterType="recallDealBean" resultType="hashmap">
    select 
    fs.APP_SNO_ as "oappSno",
    (select SHORT_NAME_ from CMN_FUND where FUND_CODE_ = fs.FUND_CODE_)||'('||fs.FUND_CODE_||')' as "shortName",
    fs.BIZ_FLAG_ as "bizFlag",
    fs.APP_AMT_ as "appAmt",
    fs.BRANCH_CODE_ as "branchCode",
    fs.MODIFY_USER_ as "modifyUser",
    fs.CHECK_USER_ as "checkUser"
    from 
    FND_SUBSCRIBE fs
    where 
    fs.FINANCE_ACC_ = #{financeAcc}
    <![CDATA[ and fs.TRADE_DATE_ >= to_char(sysDate,'YYYYMMDD') ]]>
    UNION ALL
    select 
    fp.APP_SNO_ as "oappSno",
    (select SHORT_NAME_ from CMN_FUND where FUND_CODE_ = fp.FUND_CODE_)||'('||fp.FUND_CODE_||')' as "shortName",
    fp.BIZ_FLAG_ as "bizFlag",
    fp.APP_AMT_ as "appAmt",
    fp.BRANCH_CODE_ as "branchCode",
    fp.MODIFY_USER_ as "modifyUser",
    fp.CHECK_USER_ as "checkUser"
    from 
    FND_PURCHASE fp
    where 
    fp.FINANCE_ACC_ = #{financeAcc}
    <![CDATA[ and fp.TRADE_DATE_ >= to_char(sysDate,'YYYYMMDD') ]]>
    UNION ALL
    select 
    fr.APP_SNO_ as "oappSno",
    (select SHORT_NAME_ from CMN_FUND where FUND_CODE_ = fr.FUND_CODE_)||'('||fr.FUND_CODE_||')' as "shortName",
    fr.BIZ_FLAG_ as "bizFlag",
    fr.APP_VOL_ as "appVol",
    fr.BRANCH_CODE_ as "branchCode",
    fr.MODIFY_USER_ as "modifyUser",
    fr.CHECK_USER_ as "checkUser"
    from 
    FND_REDEEM fr
    where 
    fr.FINANCE_ACC_ = #{financeAcc}
    <![CDATA[ and fr.TRADE_DATE_ >= to_char(sysDate,'YYYYMMDD') ]]>
    UNION ALL
    select 
    fc.APP_SNO_ as "oappSno",
    (select SHORT_NAME_ from CMN_FUND where FUND_CODE_ = fc.FUND_CODE_)||'('||fc.FUND_CODE_||')' as "shortName",
    fc.BIZ_FLAG_ as "bizFlag",
    fc.APP_VOL_ as "appVol",
    fc.BRANCH_CODE_ as "branchCode",
    fc.MODIFY_USER_ as "modifyUser",
    fc.CHECK_USER_ as "checkUser"
    from 
    FND_CONVERT fc
    where 
    fc.FINANCE_ACC_ = #{financeAcc}
      <![CDATA[ and fc.TRADE_DATE_ >= to_char(sysDate,'YYYYMMDD') ]]>  

    </select>


这样就查出来了我们想要的列表。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值