私はテーブルがClinic
,Stock
およびStockLog
の3つあります。SQL:条件に一致するものがない場合(テーブル内の行)、デフォルト値を返し、異なるテーブルから一致する行
すべての行を取得する必要がありますwhere Stock.stock < 5
。注文があった場合、それが何であるかを示す必要があります。これはテーブルStocklog
にあります。
ユーザはになる注文をせずにStock
テーブルに在庫レベルを設定できるという問題があります。
Stock
テーブルの行を返し、関連する注文金額をStocklog
テーブルに取得できるクエリが必要です。 StockLog
に注文がない場合は、注文金額をゼロに設定します。
私が試してみました:
SELECT
Clinic.Name,
Stock.NameOfMedication, Stock.Stock,
StockLog.OrderAmount
FROM
Clinic
JOIN
Stock ON Stock.ClinicID = Clinic.ClinicID
JOIN
StockLog ON StockLog.StockID = Stock.StockID
WHERE
Stock.Stock <= 5
私のクエリの問題は、私がStockLog
で発見されていない行を失うということです。
これを書く方法に関するヘルプ。
ありがとうございます。
ストックログに右結合を試してください – Sreemat
どのDBMSをお使いですか? –