sql - 在同一行:最后一次购买数量+日期,以及库存总量(几个库存位置) - SQL server
问题描述
我试图在 SQL Server 中得到以下结果:
从采购订单行中,最后一次采购数量 + 日期来自订单行表中的所有项目代码,以及我从行表中获得的项目代码的仓库表库存量。
订单行:
ORDER_DATE ITEM_CODE QTY
2019-03-01 A 5
2019-03-02 A 3
2019-03-05 A 4
2019-03-03 B 3
2019-03-04 B 10
仓库:
ITEM_CODE INSTOCK STOCKPLACE
A 10 VV
A 3 LP
A 8 XV
B 5 VV
B 15 LP
想要的结果(最新订单日期、最新订单数量和库存总量):
ORDER_DATE ITEM_CODE QTY INSTOCK
2019-03-05 A 4 21
2019-03-04 B 10 20
我尝试了一些查询,但都失败了。我前面有一条陡峭的学习曲线 :) 提前感谢所有帮助!
解决方案
这是一种方法:
select o.*, wh.*
from (select wh.item_code, sum(wh.instock) as instock
from warehouse wh
group by wh.item_code
) wh outer apply
(select top (1) o.*
from orders o
where o.item_code = wh.item_code
order by o.order_date desc
) o;
推荐阅读
- ios - xcode 11.4 没有情节提要模板
- android - 改造服务方法不能返回 void
- image - 在 jenkinsfile 中运行 aws ECR 扫描命令
- amazon-web-services - 使用 AWS Config 一致性包有什么优势?
- c - 获取 Linux PCI 设备的最大可用寄存器
- java - 是否暗示了 MockitoAnnotations.initMocks?
- python - Python线程和信号量的问题
- html - html 锚标记中的错误
- html - {display : none } 用于 iframe 中的特定 div
- ruby-on-rails - 没有时间限制网址的活动存储