我甚至不知道我想要的是什么,但是你走了: 我有一个存储过程返回一个数组,其中包含我需要的所有数据但不是我想要的格式:我有
表USER
表TYPE
表USER_TYPE (foreign key user_id from USER, type_id from TYPE)
表GAME
表USER_GAME (foreign key user_id from USER, game_id from GAME)
我有一个JOINS查询:
SELECT user_name,type_name,game_name
FROM user u
INNER JOIN user_type ut
ON u.user_id=ut.user_id
INNER JOIN type t
ON ut.type_id=t.type_id
LEFT JOIN user_game ug
ON u.user_id=ug.user_id
INNER JOIN game g
ON ug.game_id=g.game_id
WHERE t.type_name = ?
...
所以我得到一个以下格式的数组:
[0] => Array
(
[user_id] => 1
[type] => type1
[game] => game1
)
[1] => Array
(
[user_id] => 1
[type] => type1
[game] => game2
)
[2] => Array
(
[user_id] => 1
[type] => type2
[game] => game2
)
等...
但我想查询返回一个数组,如
[0] => Array
(
[user_id] => 1
[type] => type1
[game1] => game1
[game2] => game2
)
[1] => Array
(
[user_id] => 1
[type] => type2
[game1] => game1
[game2] => game2
)
等...
因此列出了每个阵列中一个用户的所有游戏:我想我需要基本上保持连接类型,从中获取各种user_id,然后为各种user_id获取游戏,并进行合并这一切。 如果可以在程序本身内完成,那将是很好的。
我希望这不是不可读的,非常感谢任何帮助。 顺便说一句,如果你们中的任何一个人可以指导我进行关于更高级sql查询的好教程,因为我对此有点缺... 非常感谢你!
答案 0 :(得分:0)
数组是PHP端结构,而不是MySQL。您的存储过程将返回一个结果集,您将不得不遍历PHP数组以从每个游戏玩家获取所有游戏。