Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中Mysql分组或不同查询的使用_Php_Mysql_Group By_Distinct - Fatal编程技术网

PHP中Mysql分组或不同查询的使用

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

我对这些新的查询类型(DISTINCT、groupby等)有点困惑 我的数据库中有三个表

  • 品牌
  • 产品
  • 食谱
我想做的是列出品牌,然后寻找该品牌的产品,看看是否有这些产品的配方,然后我想把它写下来

我能够用基本的查询编写它

$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。使用内部联接