SQL从一个具有连接ID的表中获取数据

时间:2015-01-30 22:07:52

标签: sql sql-server database

ProductID   | JoinedProductID
------------|----------------
12          | 
13          | 12
14          | 12
15          | 12

我有一个产品表,如上例所示。我使用联合ID将一些产品连接到主产品(#12)。 我希望在子选择中显示所有这些产品 - 除了我目前正在查看的产品。

到目前为止,我的方法就像这个例子,但我无法解决我的问题,这只会显示子产品(13,14,15)。

SELECT t1.*<br>
FROM<br>
  Product t1<br>
  INNER JOIN Product t2 ON (t1.joinedProductID = t2.ProductID)<br>
WHERE<br>
  t1.joinedProductID = 12(request from DB)<br> OR <br>
  t2.ProductID = 12(querystring request)

1 个答案:

答案 0 :(得分:0)

我正在尝试这个,但是

SELECT t1.*
FROM Product t1 INNER JOIN Product t2 ON t2.ProductID = CASE WHEN t1.JoinedProduct IS NULL THEN t1.ProductID ELSE t1.JoinedProductID END
WHERE t2.ProductID = 12