求:一条SQL语句搞定库存盘点!!!!!!!!!

sundgy 2010-05-15 02:13:52
表结构如下:
材料信息表
材料编码 材料名称 材料规格 单位
001 WMS电阻 50R 个

材料上期盘点表
材料编码 材料名称 材料规格 单位 上期存量 结存日期
001 WMS电阻 50R 个 10 2010-04-30

材料入仓表
材料编码 材料名称 材料规格 单位 数量 日期
001 WMS电阻 50R 个 10 2010-05-4
001 WMS电阻 50R 个 15 2010-05-8
材料出仓表
材料编码 材料名称 材料规格 单位 数量 日期
001 WMS电阻 50R 个 20 2010-05-10

求目前库存(上期盘点+入仓-出仓)
材料编码 材料名称 材料规格 单位 数量
001 WMS电阻 50R 个 15

求教SQL写法,路过顶有分!多谢!
...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sundgy 2010-05-15
  • 打赏
  • 举报
回复
有一个高手已经用一条简单语句搞定,谢谢各位支持
永生天地 2010-05-15
  • 打赏
  • 举报
回复
SQL codeselect a.材料编码,a.材料名称,a.材料规格,a.单位,
数量=sum(b.上期存量)+sum(c.材料出仓表)-sum(d.材料出仓表)
from 材料信息表 a,材料上期盘点表 b ,材料入仓表 c,材料出仓表 d
where a.材料编码=b.材料编码
and b.结存日期=(select max(结存日期) from 材料上期盘点表 where 材料编码=b.材料编码)
and a.材料编码=c.材料编码
and c.日期>select max(结存日期) from 材料上期盘点表 where 材料编码=b.材料编码)
and a.材料编码=d.材料编码
and d.日期>select max(结存日期) from 材料上期盘点表 where 材料编码=b.材料编码)
group by a.材料编码,a.材料名称,a.材料规格,a.单位
sundgy 2010-05-15
  • 打赏
  • 举报
回复
结果不对
永生天地 2010-05-15
  • 打赏
  • 举报
回复
select a.材料编码,a.材料名称,a.材料规格,a.单位,
数量=sum(b.上期存量)+sum(c.材料出仓表)-sum(d.材料出仓表)
from 材料信息表 a,材料上期盘点表 b ,材料入仓表 c,材料出仓表 d
where a.材料编码=b.材料编码 and b.结存日期=(select max(结存日期) from 材料上期盘点表 where a.材料编码=b.材料编码) and a.材料编码=c.材料编码 and c.日期>select max(结存日期) from 材料上期盘点表 where a.材料编码=b.材料编码) and a.材料编码=d.材料编码 and d.日期>select max(结存日期) from 材料上期盘点表 where a.材料编码=b.材料编码)
group by a.材料编码,a.材料名称,a.材料规格,a.单位

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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