2012-08-13 70 views
0

我想要做的就是检索与特定销售相关的所有行,当条件满足时。如何在满足一个条件时检索多行

因此,我可能在订单上有5行,我试图撤回所有5行,其中一行表示某个产品代码。

我试图检索具有相同的OrderID的线条,和迪菲

正如你可以看到的OrderID是两条线一样,我想找回两条线,其中ManualCode等于“STKCORRECTION '

简单的呃?

+0

你能提供任何种类的模式信息,或者你已经尝试过了吗?没有这个,就不可能提供帮助。 – sybkar 2012-08-13 15:45:34

+3

似乎有些问题已经在中间丢失了。请编辑并完成。 – 2012-08-13 15:46:31

回答

2

你忽略了许多重要的细节,但我会采取刺。说你有如下表:

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

,你想选择所有的OrderItems其中在订购了代码red,你可以使用下面的查询中的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 

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

相关问题