2

私はこれを達成する方法を探していましたが、それがどのように呼ばれているかさえ知りません(検索するため)。だからここに私が持っているもの:

http://i45.tinypic.com/2zzqjco.png

テーブルデータは次のようになります。

[製品]
ID - 名前
 1 - りんご
 2 - バナナ

【蔵】
ID - 名前
 1 - 一般
 2 - その他

【株】
商品 - 倉庫 - 在庫
    1 - 1 - 4
    1 - 2 - 4
    2 - 1 - 5

ここでは、'Storehouse' = '2' のすべての製品を取得したい
しかし、存在しない場合は 'null' または '0' を返します。

[選択する]
製品 - 在庫
   1 - 4
   2 - null または '0'

どのステートメントの使用法がわからないので、少なくとも手がかりが必要です。ありがとう。

4

1 に答える 1

3
SELECT  a.ID,
        a.Name,
        COALESCE(b.Stock, 0) Stock
FROM    Products a
        LEFT JOIN   stocks b
            ON  a.ID = b.Product AND
                b.StoreHouse = 2

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

最後に、商品の数量をINTではなくとして保管しVARCHARます。

結果

╔════╦════════╦═══════╗
║ ID ║  NAME  ║ STOCK ║
╠════╬════════╬═══════╣
║  1 ║ Apple  ║     4 ║
║  2 ║ Banana ║     0 ║
╚════╩════════╩═══════╝
于 2013-03-11T01:56:33.923 に答える