Sql 如何在满足一个条件时检索多行
我只想在满足条件时检索与特定销售相关联的所有行 因此,我可能有5行的订单,我试图收回所有的5行,其中一行说的是特定的产品代码 我试图检索的行具有相同的orderid,并且不同 如您所见,这两行的orderid相同,我希望检索ManualCode等于'STKCORRECTION'的两行Sql 如何在满足一个条件时检索多行,sql,sql-server-2008,Sql,Sql Server 2008,我只想在满足条件时检索与特定销售相关联的所有行 因此,我可能有5行的订单,我试图收回所有的5行,其中一行说的是特定的产品代码 我试图检索的行具有相同的orderid,并且不同 如您所见,这两行的orderid相同,我希望检索ManualCode等于'STKCORRECTION'的两行 简单吧?你遗漏了很多重要的细节,但我会尝试一下。假设您有下表: OrderItemId | Code | OrderId --------------------------------- 1
简单吧?你遗漏了很多重要的细节,但我会尝试一下。假设您有下表:
OrderItemId | Code | OrderId
---------------------------------
1 red 2
2 black 2
3 green 2
4 green 3
5 blue 3
如果要选择订单中某个OrderItems的代码为红色的所有OrderItems,可以使用以下查询:
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
这将返回示例表中的前三个OrderItems。您是否可以提供任何类型的架构信息,或者您已经尝试过的内容?没有这个,就不可能有帮助了。好像有些问题已经在中间消失了。请编辑并完成。