0

ProductテーブルとRelatedProductテーブルがあるとしましょう。

Product
------
ID
Name

RelatedProduct
--------------
ID
ProductID
RelatedProductID
RelatedProductName

ここで、@ProductIDパラメーターを使用します。RelatedProductテーブルにまだ追加されていないすべての製品を取得する必要があります。だから、私が持っている場合

Product
-----------
ID     Name
 1      A1
 2      A2
 3      A3
 4      A4


RelatedProduct
-----------------------------------------
ID     Name   ProductID    RelatedProductID
 1      B1       2             1
 2      B2       4             3
 3      B3       2             4

@ProductID = 1の場合、Productの2、3、4が必要です。@ProductID = 2の場合、製品の3が必要です。@ ProductID = 4の場合、製品の1,2が必要です。

4

1 に答える 1

1
select *
from    Product
where   id not in
  (select RelatedProductID
   from   RelatedProduct
   where  productID = @productID)

注:製品1が製品2に関連している場合、製品2は製品1にも関連していますか?あなたの例は明確にノーと言っていますが、多くの場合、この種の関係は双方向です。

于 2013-03-27T11:42:35.343 に答える