0

使用这些表:

*学生 {'s_id','s_name,'...} , 班级 {'c_id','c_name',...} student2class {'s_id','c_id'}, 成绩 {'s_id','c_id' ,'年级'}*

是否可以执行查询(嵌套查询?)将班级名称作为副标题,然后将所有学生(该班级的)和成绩,下一个班级名称作为副标题......

我需要的结果是:

数学

约翰.... C

安娜.... B

[...]

生物学

安娜.... C

杰克....一个

[...]

对于类中的每一行,我将有一个子查询来获取与该类相关的所有数据

4

2 回答 2

0

该解决方案应该在您的客户端代码中而不是在数据库中实现。从数据库中,您应该只获得一个简单的表格格式数据(主题、学生、年级)

然后将上述记录集转换为您想要的格式:对于 C# 中的示例,您可以将记录集转换为查找

var Lookup = DataSet.Tables[0].Rows.ToLookup(x => x["subjectColumn"]);

现在您可以循环查找并格式化您的结果

foreach(查找中的 var 等级)

{

主题=等级。关键;

...

}

于 2013-09-13T16:05:46.867 回答
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

于 2013-09-13T16:06:12.983 回答