我无法从我的mysql查询中获得格式良好的结果。MySQL查询 - 获取正确的格式
这里是数据库:
customers table
id name
1 Tim
2 Lauren
3 Prada
tanks table
id c_id location
1 1 Living Room
2 2 Living Room
3 2 Kitchen
4 3 Bedroom
5 3 Hallway
fish table
id t_id color
1 1 red
2 1 blue
3 2 white
4 2 green
5 2 black
6 3 red
7 3 orange
8 4 white
9 4 blue
10 5 black
这里是我的查询:
SELECT * FROM customers
LEFT JOIN tanks ON (tanks.c_id = customers.id)
LEFT JOIN fish ON (fish.t_id = tanks.id)
GROUP BY customers.id, tanks.id;
这里是我得到的结果是:
id name id c_id location id t_id color
1 Tim 1 1 Living Room 1 1 red
2 Lauren 2 2 Living Room 3 2 white
2 Lauren 3 2 Kitchen 6 3 red
3 Prada 4 3 Bedroom 8 4 white
3 Prada 5 3 Hallway 10 5 black
这里是我想获得的格式为:
[0] => Array
(
[customers] => Array
(
[0] => Array
(
[id] => 2
[title] => Lauren
[tanks] => Array
(
[0] => Array
(
[id] => 2
[location] => Living Room
[fish] => Array
(
[0] => Array
(
[id] => 3
[color] => white
)
[1] => Array
(
[id] => 4
[color] => green
)
[2] => Array
(
[id] => 5
[color] => black
)
)
)
[1] => Array
(
[id] => 3
[location] => Kitchen
[fish] => Array
(
[0] => Array
(
[id] => 6
[color] => red
)
[1] => Array
(
[id] => 7
[color] => orange
)
)
)
)
)
)
)
我能得到期望的结果从一个查询或做我需要做多个查询,然后加入他们一起在PHP?
任何帮助,将不胜感激!
SQL的结果将始终是一个二维表。你不能把你的结果格式化为树。你将不得不使用PHP来做到这一点。这并不难。 – Basti 2012-03-25 22:17:57
明白了 - 谢谢! – tgurske 2012-03-26 01:09:30