这是我的数据库架构和我尝试链接的表格,我尝试使用 LEFT 加入,但现在它正在为每个匹配的行创建新结果。
我目前正在构建我的查询,现在尝试将这些表连接在一起(程序 - > Procedure_event - >资源 - > Med_item)
在这样的场景中:
e.g。过程X有3行procedure_events
我希望数据在一条记录中返回给我,但是包含构成该记录的所有行。
但它会返回3行结果,如下所示:
因此查询结果应为过程X - procedureevent行1,2,3
这是使用Active Record的Codeigniter PHP框架中的代码:
$this->db->join('procedure_event', 'procedure.procedure_id = procedure_event.procedure_id' , 'left');
由于
答案 0 :(得分:1)
这是LEFT JOIN的工作原理。
因此查询结果应该是Procedure X - procedureevent rows 1,2,3
我认为你需要这个:How do I get a count of associated rows in a left join in MySQL?
MySQL无法返回二维数组或合并行。如果您需要所有“procedureevent行1,2,3”,那么只需遍历结果集,就像通常那样,并添加一个小的+图标,用AJAX获取过程事件。