具有三个级别类别的SQL查询

时间:2014-06-12 20:20:21

标签: sql sql-server

这个问题困扰了我一段时间,我希望有一些wiz可以帮助解决这个问题。我有一个产品表有三个级别的类别(三个表)。我试图列出连接到类别的最后一级(第三级)的所有产品。运行下面的查询时,会列出产品表中所有产品。

这是SQL查询。

SELECT *
FROM Product
INNER JOIN Product_Category 
    ON Product.ProductCategoryID = Product_Category.ProductCategoryID
INNER JOIN Product_Sub_Category 
    ON Product_Category.ProductCategoryID = Product_Sub_Category.ProductCategoryID
INNER JOIN Product_Sub_Sub_Category 
    ON Product_Sub_Category.ProductSubCategoryID = Product_Sub_Sub_Category.ProductSubCategoryID
WHERE Product_Sub_Sub_Category.ProductSubSCategoryID = request.querystring

1 个答案:

答案 0 :(得分:0)

您需要在第二级加入SubCategoryId,在第三级加入SubSubCategoryId

SELECT *
FROM
  Product
  INNER JOIN Product_Category ON (Product.ProductCategoryID = Product_Category.ProductCategoryID)
  INNER JOIN Product_Sub_Category ON (Product_Category.ProductSubCategoryID = Product_Sub_Category.ProductSubCategoryID)
  INNER JOIN Product_Sub_Sub_Category ON (Product_Sub_Category.ProductSubSubCategoryID = Product_Sub_Sub_Category.ProductSubSubCategoryID)
WHERE
  Product_Sub_Sub_Category.ProductSubSubCategoryID = (request.querystring)