我要做的就是在满足条件时检索与特定销售相关的所有行。
所以我可能在一个订单上有 5 行,我正试图撤回所有 5 行,其中一行有一个特定的产品代码。
我试图检索的行具有相同的 orderid,并且不同
如您所见,两行的 orderid 相同,我想检索 ManualCode 等于“STKCORRECTION”的两行
简单吧?
我要做的就是在满足条件时检索与特定销售相关的所有行。
所以我可能在一个订单上有 5 行,我正试图撤回所有 5 行,其中一行有一个特定的产品代码。
我试图检索的行具有相同的 orderid,并且不同
如您所见,两行的 orderid 相同,我想检索 ManualCode 等于“STKCORRECTION”的两行
简单吧?
您遗漏了许多重要的细节,但我会对此进行尝试。假设您有下表:
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。