假設我有一張名爲students的表格,其中包含所有學生的列表。每個學生可以將許多課程存儲在另一個表中,由學生ID標識。是否有可能在mysql中執行此查詢?
我想要做一個查詢,它將從學生表中獲取包含學生信息的行,並在一個查詢中獲取他所有的課程。我想輸出是這樣的:
Array
(
[0] => Array
(
[id] => 5
[firstName] => Bob
[lastName] => Smith
[email] => ....
[courses] => Array
(
[0] => Array
(
[id] => 30
[name] => Test Course
[price] => 400
)
[1] => Array
(
[id] => 30
[name] => Test Course 2
[price] => 300
)
)
)
)
讓學生的信息,我會做這個查詢:
SELECT * FROM students WHERE something ='something'
要獲得這些課程的學生,我會做這樣的:
SELECT * FROM courses WHERE studentId = '5'
是否有可能一次執行兩個查詢並獲得類似於上述數組的輸出,還是必須遍歷每個學生並獲取其課程,然後將其附加到數組?
我想'group_concat'可能的幫助。鏈接:http://www.dougboude.com/blog/1/2009/12/A-SWEET-Little-MySQL-Function-GroupConcat.cfm – Strawberry
你在尋找SQL語法還是爲了進入你的數組格式? –
http://stackoverflow.com/a/5378180/170365 – Strawberry