0

任何人都可以帮助我吗?
我有两个表,它们由 student_id 链接。
我正在寻找一个更简洁/单一的查询,可以输出下面的示例,
尽管我通过
在节和名称的 while 循环查询中插入另一个查询(对于主题使用 group_concat)来实现这一点。

table_students
student_id,部分,名称

table_subjects
student_id,学科

现在我希望输出是这样的。

student_id    section    name    subject  
100           A          john    algebra, trigo, geometry  
101           A          peter   trigo, geometry,  
102           B          alice   literature, algebra  
103           B          james   trigo 

先感谢您。

顺便说一句,我忘了提供更多细节,在我的主题表中,主题是每行,就像这样

student_id    subject  
    100       algebra  
    100       tigo  
    100       geometry  
    101       trigo
    101       geometry
    102       literature
and so on.....  
4

2 回答 2

4
SELECT 
stud.section, stud.name, group_concat(subj.subject, '') 
FROM table_students stud 
JOIN table_subjects subj 
ON stud.student_id = subj.student_id 
GROUP BY stud.name
于 2012-11-29T20:31:43.497 回答
0

试试这个 MySQL 查询:

SELECT stu.section, stu.name, sub.subject 
FROM table_students stu, table_subject sub 
WHERE stu.student_id=sub.student_id 
GROUP BY stu.section

应该做你需要的。在两个表中按 student_id 选择相关数据,然后指定要返回的字段。最后,按部分对它们进行分组。

于 2012-11-29T20:30:49.033 回答