0

我要做的就是在满足条件时检索与特定销售相关的所有行。

所以我可能在一个订单上有 5 行,我正试图撤回所有 5 行,其中一行有一个特定的产品代码。

我试图检索的行具有相同的 orderid,并且不同

如您所见,两行的 orderid 相同,我想检索 ManualCode 等于“STKCORRECTION”的两行

简单吧?

4

1 回答 1

2

您遗漏了许多重要的细节,但我会对此进行尝试。假设您有下表:

OrderItemId   | Code   | OrderId
---------------------------------
1               red      2 
2               black    2
3               green    2
4               green    3
5               blue     3

并且您想选择订单中的一个 OrderItems 具有 code 的所有 OrderItems red,您可以使用以下查询:

with reds as
(
    SELECT distinct OrderId FROM OrderItems WHERE Code = 'red'
)
SELECT * FROM OrderItems as oi
INNER JOIN reds as r
ON oi.OrderId = r.OrderId

这将返回示例表中的前三个 OrderItem。

于 2012-08-13T15:56:10.927 回答