很抱歉,如果我复制,我甚至不知道如何搜索。
我有agencies
和cars
两个表格agency_id
(每个代理商都有一个唯一的ID,它可以有多个车辆)。例如,agencies
就像这样:
--------------------------
agency_id agency_name
--------------------------
1 agency1
2 agency2
cars
就像这样:
---------------------------------
car_id agency_id car_name
---------------------------------
1 1 car1
2 1 car2
3 2 car3
我希望MySQL查询返回结果:
result = array(
0 => array(
'agency_id' => 1
'agency_name' => agency1
'cars' => array(
0 => array(
'car_id' => 1
'car_name' => car1
)
1 => array(
'car_id' => 2
'car_name' => car2
)
)
)
1 => array(
'agency_id' => 2
'agency_name' => agency2
'cars' => array(
0 => array(
'car_id' => 3
'car_name' => car3
)
)
)
我试过了:
SELECT * FROM agencies JOIN (SELECT * FROM cars GROUP BY cars.`agency_id`) AS cars
和:
SELECT * FROM agencies JOIN cars ON agencies.`agency_id` = cars.`agency_id` AS cars
我无法让MySQL将汽车结果放入子阵列
我正在使用PHP-PDO,我知道我可以通过循环遍历每个表的结果来使用PHP的简单方法,但我更喜欢使用更快的方式只有一个MySQL语句(如果有的话)。
非常感谢。
修改
我发现了这个:Subquery returning more than 1 row
似乎不太可能做这样的事情。我也试过这个:
SELECT * FROM agencies JOIN cars ON agencies.agency_id = cars.agency_id
为每辆车提供单独的条目。