【发布时间】:2014-12-22 01:28:43
【问题描述】:
我有两张桌子:
- 具有以下字段的销售订单 (SO):Part、Due_Date、Qty
- 带有字段 Part 和 Stock 的零件。
我正在尝试编写一个查询,该查询将产生第一次出现(按日期 - SO.Due_Date)销售订单 (SO.Qty) 无法通过库存完成的情况。
如果没有库存,即 Part.Stock=0 或该零件只有一个销售订单(SO.Qty > Part.Stock),这很容易
如果有多个销售订单,我只希望显示第一个,例如
Part.Part = Box , Part.Stock = 250
SO.Part | SO.Due_Date | SO.Qty
Box | 26/10/2014 | 100
Box | 27/10/2014 | 100
Box | 28/10/2014 | 100 * Return this row
Box | 29/10/2014 | 100
我认为我需要一个子查询或需要使用 CTE,但除非我使用循环,否则我无法解决。这些表有数千个零件和销售订单,我正在尝试尽快运行此查询。
非常感谢您的帮助
【问题讨论】:
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?
-
我不明白。您要按哪一列分组,为什么
28/10/2014行是所需的行?这不是第一行。
标签: sql