0

私は3つのテーブルを持っています

製品表:

ID GeneralStockEnabled RetailerID

ソース表

ID Name RetailerID

製品在庫表

ProductID SourceID Stock

ユーザーは、ストアド プロシージャで @RetailerID と @ProductID の両方を渡します。

特定の小売業者のすべてのソースを選択し、製品在庫テーブルからの在庫値を特定の製品 ID の製品在庫テーブルに存在するソースに添付し、その製品の GeneralStockEnabled の値を選択するにはどうすればよいですか? . 私の製品には在庫がありませんが、その小売業者のすべてのソースを取得できるようにしたいですか?.

どんな助けでも大歓迎です。

私は今このSQLを持っています:

SELECT S.ID AS SourceID,S.Name AS SourceName,PIN.Stock
FROM Sources S
     LEFT OUTER JOIN ProductInventory PIN
     ON (S.ID = PIN.SourceID)
WHERE S.RetailerID = 1
AND PIN.ProductID = 1 

しかし、私の製品在庫テーブルには現在レコードがありません。この場合、ソースである左の部分を選択していません。

4

2 に答える 2

2

このようなことを試してください:

select s.*, pr.Stock, p.GeneralStockEnabled
    from sources s join
        Products p on s.RetailerId = p.RetailerId left outer join
        ProductInventory pr on pr.ProductId = p.Id
    where s.RetailerId = @RetailerId and p.id = @ProductId
于 2013-11-06T10:30:30.333 に答える
0

同じために結合を使用できます

http://www.w3schools.com/sql/sql_join.asp

于 2013-11-06T10:23:09.110 に答える