gpt4 book ai didi

php - mysql 多对多关系

转载 作者:行者123 更新时间:2023-11-29 11:13:37 26 4
gpt4 key购买 nike

你好,我有两个表,名称为大学行业。大学会有很多产业,产业也会有很多大学。因此,为了实现这种多对多关系,我创建了另一个名为 university_industry 的表。它具有大学和行业的 ID 作为 uni_idind_id 。我有一个 student 表,其中 uni_id 作为外部 ID。因此,我想要获取学生表中的所有大学,以及这些特定大学的所有行业。这是我完成的查询

SELECT university . * , industry . * 
FROM university
JOIN university_industry ON university_industry.uni_id = university.uni_id
JOIN industry ON industry.ind_id = university_industry.ind_id
WHERE university.uni_id IN (select uni_id from student where uni_id IS NOT NULL)

这个查询的问题是我得到这样的结果

Array
(
[0] => Array
(
[university] => Array
(
[uni_id] => 1
[uni_name] => NYC Uni
)

[industry] => Array
(
[ind_id] => 1
[ind_name] => Finance
)

)

[1] => Array
(
[university] => Array
(
[uni_id] => 1
[uni_name] => NYC Uni
)

[industry] => Array
(
[ind_id] => 2
[ind_name] => Accounting
)

)

)

我想要这样的结果

(
[0] => Array
(
[University] => Array
(
[uni_id] => 1
[uni_name] => NYU
)

[Industry] => Array
(
[0] => Array
(
[ind_id] => 1
[ind_name] => Finance
[UniversityIndustry] => Array
(
[id] => 1
[uni_id] => 1
[ind_id] => 1
)

)

[1] => Array
(
[ind_id] => 2
[ind_name] => Accounting
[UniversityIndustry] => Array
(
[id] => 2
[uni_id] => 1
[ind_id] => 2
)

)

)

)

就像我需要数组的单个索引中的所有行业一样。所以应该是这样的

1.纽约大学

->会计

->财务

而不是

  1. 纽约大学

    ->会计

  2. 纽约大学

    ->财务

希望您能理解我的问题。我正在研究 Php,我不知道我是否可以通过 php 代码实现这个特定结果,或者我可以直接从查询实现。

最佳答案

您无法通过单个查询实现此目的,因为它始终以表格格式返回数据。您必须根据您需要的格式转换代码中的数据集

关于php - mysql 多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40119578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com