0

我试图在我正在创建的商店中有一个部分来显示来自该类别 ID 的 5 个随机产品。

首先,每个类别都有一个ID,还有一组Sub Catrgories,每个Sub Cat都有一个ID,每个Sub Cat里面都有一些产品。每个产品也有一个 ID。

Products 表包含 ProductID 和 SubCatID。SubCat 表包含 SubCatID 和 CatID Cat 表仅包含 CatID。

所以我需要通过 CatID 显示 5 个随机产品。我可以使用类似于以下的查询来获取随机产品:

$randomprod = mssql_query("SELECT TOP 5* FROM Products WHERE SubCatID = '1' ORDER BY NEWID()");
while ($echorand = mssql_fetch_array($randomprod)) { 

我需要一种方法来加入表格,以便我可以显示某个 CatID 下的所有产品,但我发现这很困难,因为我的 Products 表不包含 CatID。我知道有很多连接,但对 PHP 来说相当新,对 MS SQL 来说甚至更新。谁能告诉我什么加入是最好的,或者请指出正确的方向?

4

1 回答 1

1

将产品连接到子类别,将子类别连接到类别,如下所示:

SELECT TOP 5 Products.Name, SubCatergory.Name, Category.Name
FROM Products
INNER JOIN SubCatergory ON Products.SubCatID = SubCatergory.SubCatID
INNER JOIN Catergory ON SubCatergory.CatID = Category.CatID
WHERE Category.CatID = 1
ORDER BY NEWID()

INNER JOIN在上面的例子中使用过。

于 2012-11-28T14:34:50.717 回答