SQLPLUS表麻烦

时间:2012-11-27 10:09:11

标签: select sqlplus

我最近一直在使用SQLPLUS,其中一项任务是显示两个表(股票,订单项)中的一组值。我已经完成了这一部分,但我仍然坚持问题的最后部分,其中指出:“包括到目前为止尚无订单的股票”。

以下是声明:

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

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

1 个答案:

答案 0 :(得分: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;
相关问题