感觉第二个程序是对的。可以稍微改一下更好:
select count(distinct 报关单),sum(货值),进出口标志......
from 表头 T1
join (select 报关单号,sum(货值),...from 表体 T2 where 日期范围 group by 报关单)
on T1.报关单号=T2.报关单号
where 日期范围...以及其他条件
group by 进出口标志
可以试试对否。
你运行起来看看结果不就知道对不对了。
头体结构的查询我一般这么写:
select a.fieldname,sum(b.fieldname) from 头 a left join 体 b on a.id=b.id group by a.fieldname where a.id=''
很简单的写法,并不需要子查询