0

私は4つのテーブルを持っています

Order(OrderId,OrderDate,Firm,ConsumerId)
OrderProductDetails(OrderId,ProductId,Firm,Quantity,Rate,Fulfilled,PendingQuantity) [fulfilled is boolean]
Product(ProductId,ProductName)
Consumer(ConsumerId,ConsumerName)

(OrderId,OrderDate,ConsumerName)完全に履行されていない注文を取得したい。いろいろ試しましたが、うまくいきませんでした。クエリは単純に見えますが、どれだけ複雑になるかわかりません。

4

2 に答える 2

0

次のクエリは正常に機能するはずです。
注:
1) Order テーブルの名前を OrderT に変更しました。2
) 名前を Consumer -> ConsumerTに変更しました。

SELECT DISTINCT OrderProductDetails.OrderId, OrderT.OrderDate, ConsumerT.ConsumerName FROM OrderProductDetails, ConsumerT INNER JOIN OrderT ON ConsumerT.ConsumerId = OrderT.ConsumerId WHERE (([OrderProductDetails].[Fulfilled]=0) AND ([OrderProductDetails].[OrderId] =[OrderT].[OrderId]));

クエリの背後にあるロジックは次のとおりです。主に OrderT と ConsumerT の 2 つのテーブルからデータが必要です。ただし、すべてのデータは OrderProductDetails.Fulfilled に依存し、最後に 1 つは満たされていない注文であり、それらの消費者名のみが必要です。クエリを作成する際の MS Access のデザイン ビューは非常に役立ちました。

于 2013-09-12T07:29:53.737 に答える