ACCESS 多表查询 SQL语句
有三个表,一个[学生]表,一个[课程]表,一个[成绩]表学生:学号姓名-----课程:课程号课程名----成绩表:学号课程号分数---------------现在想要查询...
有三个表, 一个[学生]表,一个[课程]表,一个[成绩]表
学生 :
学号
姓名
-----
课程 :
课程号
课程名
----
成绩表:
学号
课程号
分数
---------------
现在想要查询所有学生的所有课程的成绩,要求有姓名、课程名、分类三个字段
急收分!!!!
回答者:l4417549 - 助理 二级 3-5 01:13
复制你也得用点脑袋行不行?
---------------
我要的是 用JOIN语句联接的查询语句.
回答者:lins03 - 助理 二级 3-5 01:38
麻烦你再想一下 展开
学生 :
学号
姓名
-----
课程 :
课程号
课程名
----
成绩表:
学号
课程号
分数
---------------
现在想要查询所有学生的所有课程的成绩,要求有姓名、课程名、分类三个字段
急收分!!!!
回答者:l4417549 - 助理 二级 3-5 01:13
复制你也得用点脑袋行不行?
---------------
我要的是 用JOIN语句联接的查询语句.
回答者:lins03 - 助理 二级 3-5 01:38
麻烦你再想一下 展开
2个回答
展开全部
学生表
隐藏表格的一行
固定表格第一行
如果ACCESS数据库表中有一个字段是自动增加的序号,如何插入一行
将A表的AA列求和. 做为一行,追加到B表的BB列(BB列已存在).用access语句怎么写?
为什么报表中只有一行?
动态表格:删除一行
关于列表控件选中一行?
如何在textbox显示表中一行?
在表中删除一行记录
如何动态删去表格一行
课程表
建立数据库
1、选择文件菜单中“新建”命令,在弹出的“新建”对话框中选中“常用”选项卡中的“空数据库”后,单击[确定]按钮。
2、在接下来的对话框中输入数据库名“学校管理”,按[确定],即进入数据库对象窗口。
创建表结构
1、“总课程表”的建立
(1)在“表”对象中单击[新建]按钮,调出“新建表”对话框,选择“设计视图”,单击[确定]即进入表结构设计视图窗口。
(2)在“字段名称”列中输入字段名:班级、节次、星期、课程、教师,对应的数据类型为:文本、数字、文本、文本、文本,(“主关键字”可以不要)。
(3)关闭,并保存表设计,表名称为“总课程表”(如图1)。
2、添加记录
(1)打开“总课程表”,向表中输入数据(2)保存数据文件后如图2所示。
创建交叉表查询
现在我们需要查看各个班级的课程表及对应课程的代课教师,这个问题可用交叉表查询的方法。
1、打开“新建查询”窗口,选择“交叉表向导”后,单击[确定]。
2、在弹出的“交叉表查询向导”对话框中,选中“表单”选钮,在列表中选择刚建立的“总课程表”,单击[下一步]按钮。
3、在接下来的对话框中选择“可用字段”列表中的“班级”、“节次”字段,加入到“选定字段”作为交叉表的行标题。
4、单击[下一步],在列标题选择对话框中,选择“星期”字段作为列标题,然后,单击[下一步]按钮。
5、行标题和列标题确立下来以后,那两者交叉处的数据自然就应该是当天对应节次的课程,所以在接下来的对话框中,选择“课程”字段,并在“函数”列表中选择“第一项”,作为行标题与列标题的交叉值
6、单击[下一步]按钮,在出现的对话框中输入查询名称“班级课程表”,单击[完成](如图3)。
7、同样,“教师代课表”重复1~4步,第5步将“课程”字段改成“教师”字段即可。
创建窗体
1、打开“新建窗体”对话框,选择“数据透视向导”与“总课程表”,单击[确定]进入“数据透视向导窗口”。
2、单击[下一步]按钮,在“可用字段”列表中将“班级”、“节次”、“星期”、“课程”、“教师”字段加入到右边的列表中,单击[下一步]。
3、然后,在继续弹出的“数据透视表向导”对话框中,将右侧的“班级”、“节次”字段条拖至表格布局图的行区,将“星期”字段条拖至表格布局图的列区,将“课程”、“教师”字段条拖至表格布局图的数据区。4、单击[下一步],再单击[完成]”,最后,保存窗体,名为“课程表窗体”(如图4)。
最后,谈一谈“课程表窗体”的功能和使用方法,首先,我们通过此窗体可以方便地查看“班级课程表”、“教师代课表”及“某个老师一周代课情况表”,或“某个班某门课一周分布情况表”等等,这里仅举了几个典型的例子,读者还可以根据自己的需要进行查看。其次,我们了解一下窗体的使用方法,在窗体中每个字段的右侧都有一个下拉式按钮,列出了该字段所有的值,我们可以选择需要的值,从而生成不同的表册,另外,行区或列区中各记录旁的加减号,表示显示或隐藏下一级记录的内容,使用它也可以查看不同的表册。
成绩表
先拖一个datagrid控件,再在程序中将数据fill进dataset中,
最后datagrid.setdatabinding("....")就可以了
隐藏表格的一行
固定表格第一行
如果ACCESS数据库表中有一个字段是自动增加的序号,如何插入一行
将A表的AA列求和. 做为一行,追加到B表的BB列(BB列已存在).用access语句怎么写?
为什么报表中只有一行?
动态表格:删除一行
关于列表控件选中一行?
如何在textbox显示表中一行?
在表中删除一行记录
如何动态删去表格一行
课程表
建立数据库
1、选择文件菜单中“新建”命令,在弹出的“新建”对话框中选中“常用”选项卡中的“空数据库”后,单击[确定]按钮。
2、在接下来的对话框中输入数据库名“学校管理”,按[确定],即进入数据库对象窗口。
创建表结构
1、“总课程表”的建立
(1)在“表”对象中单击[新建]按钮,调出“新建表”对话框,选择“设计视图”,单击[确定]即进入表结构设计视图窗口。
(2)在“字段名称”列中输入字段名:班级、节次、星期、课程、教师,对应的数据类型为:文本、数字、文本、文本、文本,(“主关键字”可以不要)。
(3)关闭,并保存表设计,表名称为“总课程表”(如图1)。
2、添加记录
(1)打开“总课程表”,向表中输入数据(2)保存数据文件后如图2所示。
创建交叉表查询
现在我们需要查看各个班级的课程表及对应课程的代课教师,这个问题可用交叉表查询的方法。
1、打开“新建查询”窗口,选择“交叉表向导”后,单击[确定]。
2、在弹出的“交叉表查询向导”对话框中,选中“表单”选钮,在列表中选择刚建立的“总课程表”,单击[下一步]按钮。
3、在接下来的对话框中选择“可用字段”列表中的“班级”、“节次”字段,加入到“选定字段”作为交叉表的行标题。
4、单击[下一步],在列标题选择对话框中,选择“星期”字段作为列标题,然后,单击[下一步]按钮。
5、行标题和列标题确立下来以后,那两者交叉处的数据自然就应该是当天对应节次的课程,所以在接下来的对话框中,选择“课程”字段,并在“函数”列表中选择“第一项”,作为行标题与列标题的交叉值
6、单击[下一步]按钮,在出现的对话框中输入查询名称“班级课程表”,单击[完成](如图3)。
7、同样,“教师代课表”重复1~4步,第5步将“课程”字段改成“教师”字段即可。
创建窗体
1、打开“新建窗体”对话框,选择“数据透视向导”与“总课程表”,单击[确定]进入“数据透视向导窗口”。
2、单击[下一步]按钮,在“可用字段”列表中将“班级”、“节次”、“星期”、“课程”、“教师”字段加入到右边的列表中,单击[下一步]。
3、然后,在继续弹出的“数据透视表向导”对话框中,将右侧的“班级”、“节次”字段条拖至表格布局图的行区,将“星期”字段条拖至表格布局图的列区,将“课程”、“教师”字段条拖至表格布局图的数据区。4、单击[下一步],再单击[完成]”,最后,保存窗体,名为“课程表窗体”(如图4)。
最后,谈一谈“课程表窗体”的功能和使用方法,首先,我们通过此窗体可以方便地查看“班级课程表”、“教师代课表”及“某个老师一周代课情况表”,或“某个班某门课一周分布情况表”等等,这里仅举了几个典型的例子,读者还可以根据自己的需要进行查看。其次,我们了解一下窗体的使用方法,在窗体中每个字段的右侧都有一个下拉式按钮,列出了该字段所有的值,我们可以选择需要的值,从而生成不同的表册,另外,行区或列区中各记录旁的加减号,表示显示或隐藏下一级记录的内容,使用它也可以查看不同的表册。
成绩表
先拖一个datagrid控件,再在程序中将数据fill进dataset中,
最后datagrid.setdatabinding("....")就可以了
展开全部
楼上的 BS!!
select 学生表.姓名 ,课程表.课程名
from 学生表,课程表,成绩表
where 学生表.学生编号=成绩表.学生编号
and 成绩表.课程编号=课程表.课程编号
试下。应该可以。 如果要现实分数的话 在from之前加 分数表.成绩
就可以了 。。
///////////////
其实我找个写法跟你说的关联是一样的,只是写法不同。这样写更容易理解。
如果用inner join 的话也可以 。。
select 学生表.姓名 ,课程表.课程名
from 学生表 inner join 课程表 (汗。写习惯了,这3表后面不记得了' ,'或'and '你试试看行不
)
成绩表
on 学生表.学生编号=成绩表.学生编号
and 成绩表.课程编号=课程表.课程编号
select 学生表.姓名 ,课程表.课程名
from 学生表,课程表,成绩表
where 学生表.学生编号=成绩表.学生编号
and 成绩表.课程编号=课程表.课程编号
试下。应该可以。 如果要现实分数的话 在from之前加 分数表.成绩
就可以了 。。
///////////////
其实我找个写法跟你说的关联是一样的,只是写法不同。这样写更容易理解。
如果用inner join 的话也可以 。。
select 学生表.姓名 ,课程表.课程名
from 学生表 inner join 课程表 (汗。写习惯了,这3表后面不记得了' ,'或'and '你试试看行不
)
成绩表
on 学生表.学生编号=成绩表.学生编号
and 成绩表.课程编号=课程表.课程编号
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |