大家救救我,帮我看看
物资:品名代号,类别
入库表:品名代号,合计金额,日期
进出表:品名代号,合计金额,日期
库存表:品名代号,收入01...收入12(对应一年12个月),库存01...库存12,年份。
现在要根据上面的表,做个查询,并插入到库存表中
查询是将某项产品的本月收入(合计金额)加起来,将结果更新到收入**列(本月收入),并将结果加上上月库存,将这个和更新到库存**列(本月库存)
我现在写的语句老是有问题,在查询分析器中报错
服务器: 消息 170,级别 15,状态 1,行 7
第 7 行: 品名代号 附近有语法错误。
语句是:
update 金额汇总 set 收入数08 = 收入数, 库存数08 = 库存07 +收入数 - 发出数, 发出数08 = 发出数
from (select isnull(sum(b.合计金额), 0) 收入数, (select isnull(sum(c.合计金额), 0) 发出数, a.品名代号 from 物资 a
left join (select 日期,品名代号,合计金额 from 入库明细 where month(日期) = month(getdate())
union all select 日期,品名代号,合计金额 from 一进一出 where month(日期) = month(getdate())) b on a.品名代号 = b.品名代号
left join (select 日期,品名代号,领料金额 from 出库明细 where month(日期) = month(getdate())
union all select 日期,品名代号,合计金额 from 一进一出 where month(日期) = month(getdate())) c on a.品名代号 = c.品名代号 group by a.品名代号) d
where 金额汇总.品名代号 = d.品名代号
推荐阅读
update 金额汇总 set 收入数08 = 收入数, 库存数08 = 库存07 +收入数 - 发出数, 发出数08 = 发出数
from (select isnull(sum(b.合计金额), 0) 收入数, isnull(sum(c.合计金额), 0) 发出数, a.品名代号 from 物资 a
left join (select 日期,品名代号,合计金额 from 入库明细 where month(日期) = month(getdate())
union all select 日期,品名代号,合计金额 from 一进一出 where month(日期) = month(getdate())) b on a.品名代号 = b.品名代号
left join (select 日期,品名代号,领料金额 from 出库明细 where month(日期) = month(getdate())
union all select 日期,品名代号,合计金额 from 一进一出 where month(日期) = month(getdate())) c on a.品名代号 = c.品名代号 group by a.品名代号) d
where 金额汇总.品名代号 = d.品名代号
update 金额汇总 set 收入数08 = 收入数, 库存数08 = 库存07 +收入数 - 发出数, 发出数08 = 发出数
from (select isnull(sum(b.合计金额), 0) 收入数, (select isnull(sum(c.合计金额), 0) 发出数, a.品名代号 from 物资 a
left join (select 日期,品名代号,合计金额 from 入库明细 where month(日期) = month(getdate())
union all select 日期,品名代号,合计金额 from 一进一出 where month(日期) = month(getdate())) b on a.品名代号 = b.品名代号
left join (select 日期,品名代号,领料金额 from 出库明细 where month(日期) = month(getdate())
union all select 日期,品名代号,合计金额 from 一进一出 where month(日期) = month(getdate())) c on a.品名代号 = c.品名代号 group by a.品名代号) d, 金额汇总 e
where e.品名代号 = d.品名代号
愉快的登山者
⊙
◢◣◢◣◢◣


讨论区