0

私がやりたいことは、条件が満たされたときに特定の販売に関連付けられているすべての行を取得することだけです。

そのため、1 つの注文に 5 行ある可能性があります。行の 1 つに特定の製品コードが記載されている 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

注文内の OrderItem の 1 つに code が含まれているすべての OrderItem を選択したい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

これにより、サンプル テーブルの最初の 3 つの OrderItems が返されます。

于 2012-08-13T15:56:10.927 に答える