假设我有一张名为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