-1

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

dbo.Products [ItemID] [ProductID]
dbo.Accessory [PartItemID] [AccessoryItemID]

表の両方の列が表の列とAccessory一致します。、およびの代わりに適切なものを表に表示するにはどうすればよいですか?ItemIDProductsAccessoryProductIDPartItemIDAccessoryItemID

例えば:

ItemID=1, ProductID=Part, PartItemID=1,AccessoryItemID=5
ItemID=5, ProductID=Accessory, PartItemID=5, AccessoryItemID=NULL

出力を次のようにしたいと思います。

ProductID=Part, PartItemID=1, Accessory=Accessory, AccessoryItemID=5
4

1 に答える 1

1

@ PM77-1が言ったように、より具体的には、JOINすべてのキーで必要に応じて。同じテーブルに複数回参加できます。

あなたの場合:

SELECT p1.ProductID as PartItem
     , a.PartItemID
     , p2.ProductID as AccessoryItem
     , a.AccessoryItemID
  FROM dbo.Accessory a
  LEFT JOIN dbo.Products p1
       ON p1.ItemID = a.PartItemID
  LEFT JOIN dbo.Products p2
       ON p1.ItemID = a.AccessoryItemID

これにより、対応する製品がアクセサリ テーブルの行ごとにパーツおよびアクセサリとして出力されます。

于 2013-03-07T21:52:40.147 に答える