首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改从sql存储过程返回的数组的格式

问更改从sql存储过程返回的数组的格式
EN

Stack Overflow用户
提问于 2011-07-13 15:30:39
回答 1查看 115关注 0票数 1

我甚至不知道我想要的是不是可能的,但是这里:我有一个存储过程,返回一个包含我需要的所有数据的数组,但不是我想要的格式:我有

A表USER

A表TYPE

A表USER_TYPE (foreign key user_id from USER, type_id from TYPE)

A表GAME

A表USER_GAME (foreign key user_id from USER, game_id from GAME)

我有一个带有连接的查询:

代码语言:javascript
复制
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 = ?

...

所以我得到了一个如下格式的数组:

代码语言:javascript
复制
[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
    )

等等。

但是我希望查询返回一个数组,比如

代码语言:javascript
复制
[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查询的好教程,因为我在这方面有点短缺……非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2011-07-13 21:12:07

数组是PHP端结构,而不是MySQL。您的存储过程将返回一个结果集,并且您必须遍历PHP数组才能从每个玩家那里获取所有游戏。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6675510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档