select 编号,sum(数量) from table a,table2
where   商品编号 >= 开始商品编号  and 商品编号<= 开始商品编号  
group by 编号

解决方案 »

  1. select isnull(a.分类,'未分类'),b.数量
    from 商品数量表 a left join 分类表 b
    on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号
    group by isnull(a.分类,'未分类')
      

  2. select isnull(a.编号,'未分类') as 分类,sum(b.数量)
    from 商品数量表 a left join 分类表 b
    on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号
    group by isnull(a.编号,'未分类')
      

  3. 如果参数是这样的呢大类商品编号范围是非连续的参数格式(大类商品):
    编号      名称      开始商品编号   截止商品编号
    -----------------------------------------------
    0001      AAAAA           0101          0299
    0002      BBBBB           0301          0499
    0002      BBBBB           3301          3399
    0003      CCCCC           3201          3299
      

  4. 用我的方法试试。select isnull(a.编号,'未分类') as 分类,sum(b.数量)
    from 商品数量表 a left join 分类表 b
    on a.编号 >= b.开始商品编号 and a.编号 <=b.截止商品编号
    group by isnull(a.编号,'未分类')
      

  5. 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 编号
      

aliyun

类似问题 »