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'