查询以获得一对多mysql表关系

时间:2018-01-10 15:13:32

标签: php mysql sql

  this is the company table

this is the company table

this is the category table

    this is the category table

如何编写查询,以便选择一个不同的类别并列出属于它的所有公司。 例如 school,category_id = 1有两家属于它的公司,如(Dolly,Abbey scaffold,AP)。 Art,category_id = 2有一家公司(蓝色脚本);    这是我的查询

            $query="SELECT distinct  company.id, company.company_name, category.category_name FROM company INNER JOIN category ON company.category_id =category.id ";

查询工作正常,但它不断重复具有属于它的许多公司的category_name。我希望它显示category_name一次,并在

下显示属于它的公司

1 个答案:

答案 0 :(得分:1)

select t1.*, t2.company_name

(Select id, category_name
from category) t1

left join

(select category_id, company_name
from company) t2

on t1.id=t2.category_id