私は次のように2つのテーブルを持っています..
Drug_Master
PKDrugId - int
DrugName - varchar
DrugType - varchar
Stock_Master
PKStockId - int
FKDrugId - int
Total_quantity_on_hand - int
表DrugName
の代わりにFKDrugId
表示されるクエリを書きたいです。Stock_Master
誰でも助けることができますか?
私は次のように2つのテーブルを持っています..
Drug_Master
PKDrugId - int
DrugName - varchar
DrugType - varchar
Stock_Master
PKStockId - int
FKDrugId - int
Total_quantity_on_hand - int
表DrugName
の代わりにFKDrugId
表示されるクエリを書きたいです。Stock_Master
誰でも助けることができますか?
JOIN
次のようなテーブル:
SELECT
s.PKStockId,
d.DrugName,
s.Total_quantity_on_hand
FROM Stock_Master s
INNER JOIN Drug_Master d ON s.FKDrugId = d.PKDrugId;
sについてもっと読んでくださいJOIN
:
一致しない行を取得するLEFT JOIN
代わりに必要になる場合があります。INNER JOIN
たとえば、他のStock_Master
テーブルに在庫エントリがない医薬品名を含める必要がある場合は、次のようにできます。
SELECT
ISNULL(s.PKStockId, 0),
d.DrugName,
ISNULL(s.Total_quantity_on_hand, 0)
FROM Drug_Master d
LEFT JOIN Stock_Master s ON s.FKDrugId = d.PKDrugId;
JOIN
次のような代わりに、相関サブクエリを使用できます。
SELECT
s.PKStockId,
(SELECT d.DrugName
FROM Drug_Master d
WHERE s.FKDrugId = d.PKDrugId) AS DrugName,
s.Total_quantity_on_hand
FROM Stock_Master s;
でも使ったほうがいいJOIN
です。