大家救救我,帮我看看

keardy 2003-08-21 08:45:18
物资:品名代号,类别
入库表:品名代号,合计金额,日期
进出表:品名代号,合计金额,日期
库存表:品名代号,收入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.品名代号
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
keardy 2003-08-21
  • 打赏
  • 举报
回复
非常谢谢两位老大
小弟在此跪谢乐。
愉快的登山者 2003-08-21
  • 打赏
  • 举报
回复
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.品名代号


愉快的登山者


◢◣◢◣◢◣
pengdali 2003-08-21
  • 打赏
  • 举报
回复


month(日期) = month(GetDate())

有问题,去年的同月也找出来了。


update 金额汇总 set 收入数08 = 收入数, 库存数08 = 库存07 +收入数 - 发出数, 发出数08 = 发出数
from (select IsNull(sum(b.合计金额), 0) 收入数, IsNull(sum(c.合计金额), 0) 发出数, a.品名代号 from 物资 a
Left Join (Select 日期,品名代号,合计金额 from 入库明细 Where datediff(month,日期,getdate())=0
Union all Select 日期,品名代号,合计金额 from 一进一出 Where datediff(month,日期,getdate())=0) b On A.品名代号 = b.品名代号
Left Join (Select 日期,品名代号,领料金额 from 出库明细 Where datediff(month,日期,getdate())=0
Union all Select 日期,品名代号,合计金额 from 一进一出 Where datediff(month,日期,getdate())=0) c On A.品名代号 = c.品名代号 group by a.品名代号) d
where 金额汇总.品名代号 = d.品名代号
pengdali 2003-08-21
  • 打赏
  • 举报
回复
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.品名代号
-------------------------------------------------------------------------------- 安全焦点简介 一、这个鬼地方 1、定位 全方位、非商业而且有自己独特风格的黑客及安全站点。 2、目的 a、整理和发掘网络安全、黑客方面技术文献及工具、代码。 b、发布我们——包括任何一个对安全有想法的朋友——的想法和发现,为大家提供发布文章及安全、黑客相关工具的园地。 c、结识更多有共同志向的朋友,共同研究、讨论网络安全的方方面面。 二、这兄弟们 alert7 生活和技术都挺扎实的家伙。 公钥 benjurry 勤奋、知识面广。 公钥 blackhole 诚实可靠小郎君! 公钥 casper 相当前卫,不拘小节。 公钥 eyas 好好学习,天天向上。 公钥 flashsky 吟诗作对、Windows编程之好手。 公钥 glacier 乍看是个人渣,细看还不如乍看。 公钥 isno 学习学习再学习。 公钥 quack 呆。 公钥 refdom 话不多。 公钥 san 神呐,救救我吧…… 公钥 stardust 生活简单,脑袋也简单。 公钥 virtualcat 热情,热心,热血…… 公钥 watercloud 一无是处,杂而无章。 公钥 wollf Wollf Omen Look Lovely Forever 公钥 xundi 老实,诚实...... 公钥 一群普普通通的家伙,来自五湖四海,不在同一公司。喜欢自由自在,生活简单,爱玩电脑,偶尔做事会出格;-)有很多梦想,有很多希望……——我们不敢自称黑客,但我们会尽力做到自由与开放。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧