用我的方法试试。select isnull(a.编号,'未分类') as 分类,sum(b.数量) from 商品数量表 a left join 分类表 b on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号 group by isnull(a.编号,'未分类')
select 编号,min(名称), sum(数量) as 合计 from (select b.编号,b.名称,a.数量 from 数据格式 a inner join 参数格式 b on cast(a.商品编号 as int) between cast(b.开始商品编号 as int) and cast(b.截止商品编号 as int)) as aa group by 编号
from 商品数量表 a left join 分类表 b
on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号
group by isnull(a.分类,'未分类')
from 商品数量表 a left join 分类表 b
on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号
group by isnull(a.编号,'未分类')
编号 名称 开始商品编号 截止商品编号
-----------------------------------------------
0001 AAAAA 0101 0299
0002 BBBBB 0301 0499
0002 BBBBB 3301 3399
0003 CCCCC 3201 3299
from 商品数量表 a left join 分类表 b
on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号
group by isnull(a.编号,'未分类')
(select b.编号,b.名称,a.数量 from 数据格式 a
inner join 参数格式 b
on cast(a.商品编号 as int) between cast(b.开始商品编号 as int) and cast(b.截止商品编号 as int)) as aa
group by 编号