我对下面的sql有点麻烦......
第一步是:
从表中获取一行并从另一个表中连接多行...结果数组应如下所示:
array(
field_1,
field_2,
field_3,
joined_array(
field_a_array(
field_a_a,
field_a_b,
field_a_c
),
field_b_array(
field_b_a,
field_b_b,
field_b_c
)
)
)
我的查询看起来像这样:
SELECT table_1.*, table_2.*
FROM table_1
JOIN table_2 ON table_2.field_1 = table_1.field_1
WHERE table_1.field_1 = xyz
但它只返回“table_2”中的一行......
那么,我做错了什么?
由于评论#1而编辑:
上面的查询不是实际的查询,只是我的重写。
我使用 codeigniter 作为框架,所以查询是由 codeigniter 类构建的......查询的代码如下:
(似乎 where、join 等的位置对于 codeigniters db 类并不重要)
$this->db->select('events.*, genres_x_events.*');
$this->db->from('events');
$this->db->where('events.slug', $slug);
$this->db->where('events.deleted', 0);
$this->db->join('genres_x_events', 'genres_x_events.event_slug = events.slug');
$query = $this->db->get();