1
我甚至不知道我想要什麼,但在這裏你去: 我有一個存儲過程返回一個數組,我需要的所有數據但不在格式,我想:我有更改從sql存儲過程返回的數組的格式
表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)
而且我有一個查詢與聯接:
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查詢的好教程因爲我有點短... 非常感謝!
您正在使用哪些DBMS?你真的從存儲過程中返回一個**數組**嗎?爲什麼不返回一個常規結果集? –
你確定用戶每次只有兩種遊戲嗎? – ksogor
嗨,大家好,我使用mysql和遊戲的數量實際上可能會有所不同,並且這將更容易將輸出保留爲數組。 – bstenm