a表合同号为 0801000237 的有一条数据,billamount 列数据为24000000
对应的B表有六条记录,查询结果要求,在B表里,只显示一次24000000

 

select a.contractno,b.billid,

sum(case  when a.billtype='银行承兑汇票' then a.billamount else 0 end),

sum(case  when a.billtype='银行承兑汇票' and b.billid in (select max(billid) from tb_gos_fund_cashfinance where contractno = a.contractno group by contractno  ) then a.billamount else 0 end)
from tb_gos_fund_contract a left join tb_gos_fund_cashfinance b 
on a.contractno=b.contractno and a.financebank=b.financebank
group by a.contractno,b.billid
having a.contractno='0801000237'

sql1 

相关文章:

猜你喜欢
  • 2022-12-23
  • 2021-11-04
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
相关资源
相似解决方案