使用这些表:
* 学生{'s_id','s_name,'...},类{'c_id','c_name',...} student2class {'s_id','c_id'},成绩{' S_ID”, 'C_ID', '级'} *
是否可以执行查询(嵌套查询?)将类名作为副标题,然后将所有学生(该类)和成绩,下一个类名作为副标题...
我需要的结果是:
约翰...... C
安娜...... B
[...]
安娜...... C
杰克......一个[...]
对于来自类I的每一行,将有一个子查询获取与此类相关的所有数据
答案 0 :(得分:0)
解决方案应该在客户端代码中实现,而不是在数据库中实现。从数据库中你应该得到一个简单的表格式数据(主题,学生,年级)
然后将上面的记录集转换为您想要的格式: 对于C#中的示例,您可以将记录集转换为查找
var Lookup = DataSet.Tables [0] .Rows.ToLookup(x => x [“subjectColumn”]);
现在您可以遍历查找并格式化结果
foreach(查找中的var等级)
{
subject = grade.Key;
...
}
答案 1 :(得分:0)
无需任何子查询。您可以通过这种方式获取数据:
SELECT c_name, s_name_, grade
FROM student, class, grades
WHERE student.s_id = grades.s_id and class.c_id = grades.c_id
ORDER BY c_name
结果的呈现取决于您的系统/工具,正如其他人已经说过的那样。这是Microsoft Access解决方案的链接: http://office.microsoft.com/en-001/access-help/create-a-grouped-or-summary-report-HA001159160.aspx