2

我最近一直在使用 SQLPLUS,我的一项任务是显示来自两个表(股票、订单项)的一组值。我已经完成了这部分,但我被困在问题的最后一部分:“包括到目前为止尚未下订单的库存”。

这是声明:

`select Stocks.StockNo, Stocks.Description, OrderItems.QtyOrd
 from Stocks INNER JOIN OrderItems
 ON Stocks.StockNo = OrderItems.StockNo;`

我已经得到了这部分的正确结果,但是第二部分让我望而却步,因为currnt 语句没有显示 QtyOrd 的 0 值。任何帮助,将不胜感激。

4

1 回答 1

1

您可能希望使用LEFT OUTER JOIN否则INNER JOIN将排除没有任何订单的股票。您可能还考虑按库存分组,以便对每个库存的总数量求和?

SELECT  Stocks.StockNo, Stocks.Description, SUM(OrderItems.QtyOrd) AS QtyOrd
FROM  Stocks 
    LEFT OUTER JOIN OrderItems
         ON Stocks.StockNo = OrderItems.StockNo
GROUP BY Stocks.StockNo, Stocks.Description;
于 2012-11-27T10:17:40.023 回答