我有一个产品目录
产品表(tblProducts : ProductID)
,
产品类别表(tblProductCategories : CatID)
,
产品子类别表(tblProductSubCategories : SubCatID)
和
外部参照表(tblProdXCat : ProductID,CatID,SubCatID)
将产品链接到猫和子目录
产品可以链接到多个猫和/或子类
如何仅查询和获取不同的产品(结果集中没有产品重复)?
请使用Microsoft SQL Server。
谢谢!
答案 0 :(得分:1)
我认为您的tblProducts
表格是不同产品的表格,因此您不会询问如何从中选择不同的产品。
如果您的意思是如何从tblProdXCat
获取不同的产品,那么它可能就像SELECT DISTINCT ProductID FROM tblProdXCat
一样简单。
但也许你想要一个关于产品的完整信息,而不仅仅是他们的ID。在这种情况下,您可以在内部加入针对ProductID
的不同tblProducts
值列表:
SELECT p.*
FROM Products p
INNER JOIN (SELECT DISTINCT ProductID FROM tblProdXCat) x
ON p.ProductID = x.ProductID
如果仍然不是您想要的,那么您可能需要澄清您的请求。
答案 1 :(得分:0)
select distinct productID from tblProducts
答案 2 :(得分:0)
将所有加入歧义放入WHERE子句中。
SELECT *
FROM Products
WHERE ProductID in
(
SELECT ProductId
FROM Products JOIN ...
)