2012-11-27 77 views
2

我最近一直在使用SQLPLUS,其中一個任務是顯示兩個表(股票,訂單項)中的一組值。我已經完成了這部分工作,但是我在這個問題的最後部分停留了一下:「包括迄今爲止沒有給他們下的訂單的股票」。SQLPLUS表故障

以下是該語句:

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

,我已經得到了這部分正確的結果,但第二部分是躲避我,因爲curernt語句不爲QtyOrd顯示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; 
+1

WOW,謝謝斯圖爾特。這非常有幫助。我很欣賞快速反應。這個問題不能關閉。 –