select sum(b.inmoney) from a
left outer join b on a.code=b.code
where convert(varchar(7),a.date,120)=convert(varchar(7),getdate(),120)  --限定查询日期为本月
and code like 'mc%'  --限定查询的大类为木材,要查询其他的大类就更改这里

解决方案 »

  1.   

    select sum(b.inmoney) from a
    left outer join b on a.code=b.code
    where convert(varchar(7),a.date,120)=convert(varchar(7),getdate(),120)  --限定查询日期为本月
    and code like 'mc%'  --限定查询的大类为木材,要查询其他的大类就更改这里这个语句是建立在inmoney理解为利润的基础上的,忘了乘以数量。select sum(b.inmoney*a.number) from a
    left outer join b on a.code=b.code
    where convert(varchar(7),a.date,120)=convert(varchar(7),getdate(),120)  --限定查询日期为本月
    and code like 'mc%'  --限定查询的大类为木材,要查询其他的大类就更改这里
      

  2.   

    inmoney采购价格
    outmoney出库价格
    summoney价格合计
    number数量
      

  3.   


    大类的code命名有规则么?如果都是两位英文表示一个大类的话,可以这样,select left(b.code,2),sum(b.inmoney*a.number) from a
    left outer join b on a.code=b.code
    where convert(varchar(7),a.date,120)=convert(varchar(7),getdate(),120)  --限定查询日期为本月
    group by left(b.code,2)
    order by left(b.code,2)
      

  4.   


    select left(b.code,2),sum((a.outmoney-b.inmoney)*a.number) from a
    left outer join b on a.code=b.code
    where convert(varchar(7),a.date,120)=convert(varchar(7),getdate(),120)  --限定查询日期为本月
    group by left(b.code,2)
    order by left(b.code,2)