PHP中Mysql分组或不同查询的使用
我对这些新的查询类型(DISTINCT、groupby等)有点困惑 我的数据库中有三个表PHP中Mysql分组或不同查询的使用,php,mysql,group-by,distinct,Php,Mysql,Group By,Distinct,我对这些新的查询类型(DISTINCT、groupby等)有点困惑 我的数据库中有三个表 品牌 产品 食谱 我想做的是列出品牌,然后寻找该品牌的产品,看看是否有这些产品的配方,然后我想把它写下来 我能够用基本的查询编写它 $sql = "SELECT * FROM BRANDS"; $sql2 = "SELECT * FROM PRODUCTS WHERE BRANDID = 1"; $sql3 = "SELECT * FROM RECIPES WHERE PRODUC
- 品牌
- 产品
- 食谱
$sql = "SELECT * FROM BRANDS";
$sql2 = "SELECT * FROM PRODUCTS WHERE BRANDID = 1";
$sql3 = "SELECT * FROM RECIPES WHERE PRODUCTID = 2";
但它重复了品牌。据我谷歌搜索,我必须在我的查询中使用GroupBy或DISTINCT
我应该如何创建查询布局以及应该使用哪种布局
谢谢。我认为您不必做所有的区分和分组,除非您的数据库有重复的行。您可以在一个查询中选择所有这些,如下所示:
Select Brands.BrandId, Brands.BrandName, Products.ProductId, Products.ProductName, Recipes.*
From Brands
Inner Join Products On Products.BrandId = Brands.BrandId
Inner Join Recipes On Recipes.ProductId = Products.ProductId
Where
Brands.BrandId = 1 And
Products.ProductId = 2
Order By Brands.BrandId, Products.ProductId, Recipes.RecipeId
请注意,我假设您有Brands.BrandName和Products.ProductName列。此查询将为您提供一个完整的记录集,并根据品牌和产品进行筛选。据我所知,您可以选择a。需要使用循环,或b。使用内部联接