2

私は最近SQLPLUSを使用していますが、私のタスクの1つは、2つのテーブル(株、注文アイテム)からの値のセットを表示することでした。私はこの部分を実行しましたが、「これまで注文が行われていない株を含む」という質問の最後の部分で立ち往生しています。

ステートメントは次のとおりです。

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

この部分では正しい結果が得られましたが、curerntステートメントにはQtyOrdの0値が表示されないため、2番目の部分ではわかりません。どんな助けでもいただければ幸いです。

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 に答える