这是我的数据库架构和我尝试链接的表,我尝试使用 LEFT 连接,但现在它正在为每个匹配的行创建一个新结果。
我目前正在构建查询,并尝试将这些表连接在一起(Procedure-> procedure_event -> Resources -> Med_item)
在这样的场景中:
e.g. Procedure X has 3 rows procedure_events
我希望数据在一条记录中返回给我,但包含组成该记录的所有行。
但是它返回 3 行结果,如下所示:
- 过程 X - procedure_event 第 1 行
- 过程 X - procedure_event 第 2 行
- 过程 X - procedure_event 第 3 行
所以查询结果应该是Procedure X - procedureevent rows 1,2,3
这是我在 Codeigniter PHP 框架中使用 Active Record 的代码:
$this->db->join('procedure_event', 'procedure.procedure_id = procedure_event.procedure_id' , 'left');
谢谢
最佳答案
这就是 LEFT JOIN 的工作原理。
So the query result should be Procedure X - procedureevent rows 1,2,3
我认为你需要这个:How do I get a count of associated rows in a left join in MySQL?
MySQL 无法返回二维数组或合并行。如果您需要所有“procedureevent rows 1,2,3”,那么只需迭代结果集,就像您通常所做的那样,并添加一个小 + 图标,通过 AJAX 获取 procedureevents。
关于php - 其中加入 1 : Many relationship?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6901229/