1

私はMSAccess2003クエリで立ち往生しています。私はグーグルで検索され、多くの同様の質問を読みましたが、希望の結果に到達することができませんでした。

「注文」と「在庫」の2つのテーブルがあります

           Orders                              Inventory
----------------------------------------    | -------------------
| SKU         | OrderID |PStatus    |   |   | SKU  | LID  |
----------------------------------------|   | -------------------
|  23|        | abc     |  New      |       |  23  | wsx  | 
|  24|        | asd     |  Shiped   |   |   |  24  | qax  | 
| 19 |        | zxc     |  New      |   |   |  19  | wsx  |
----------------------------------------    | -------------------

質問:次のようなクエリが必要です

SELECT Orders.SKU, 
       Count(LID), 
       LID 
FROM Orders 
INNER JOIN Inventory on Orders.SKU=Inventory.SKU 
WHERE Orders.PStatus = 'New' 
AND (OrderID = 'abc' OR Order = 'zxc')

これは非常に基本的なクエリかもしれませんが、私はこれに慣れていないので、どんな例でも大歓迎です。

4

1 に答える 1

2

上記の例を見ると、単純な「GroupBy」を使用するだけで十分だと思います

SELECT      Orders.SKU, 
            LID,
            COUNT(LID),

FROM        Orders 
INNER JOIN  Inventory on Orders.SKU=Inventory.SKU 
WHERE       Orders.PStatus = 'New' 
AND         (OrderID = 'abc' OR Order = 'zxc')

GROUP BY    Orders.SKU,
            LID

私たちが実際に言っているのは、在庫テーブルに一致するLIDを持つ注文テーブルからすべてのSKUをロードすることです。次に、これらの各注文のカウントを要求します-LIDの組み合わせ(基本的にSKUごとのLIDの数)GROUP BY-SKUとLIDの各組み合わせが表示される回数に基づいて行をカウントするようにAccessに指示します。

于 2013-01-15T14:11:27.923 に答える