我遇到了MS Access 2003查询。我被谷歌搜索并阅读了许多类似的问题,但我无法达到预期的结果。
我有两个表“订单”和“库存”
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')
这可能是一个非常基本的查询,但我是新手,所以任何例子都会非常感激。
答案 0 :(得分:2)
看看上面的示例,我会说使用简单的“Group By”就足够了。
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
告诉Access它应该根据SKU和LID的每个组合出现的次数来计算行数