ACCESS 多表查询 SQL语句

2025-01-01 12:59:12
推荐回答(2个)
回答1:

学生表
隐藏表格的一行
固定表格第一行
如果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("....")就可以了

回答2:

楼上的 BS!!

select 学生表.姓名 ,课程表.课程名
from 学生表,课程表,成绩表
where 学生表.学生编号=成绩表.学生编号
and 成绩表.课程编号=课程表.课程编号

试下。应该可以。 如果要现实分数的话 在from之前加 分数表.成绩
就可以了 。。
///////////////
其实我找个写法跟你说的关联是一样的,只是写法不同。这样写更容易理解。
如果用inner join 的话也可以 。。

select 学生表.姓名 ,课程表.课程名
from 学生表 inner join 课程表 (汗。写习惯了,这3表后面不记得了' ,'或'and '你试试看行不
)
成绩表
on 学生表.学生编号=成绩表.学生编号
and 成绩表.课程编号=课程表.课程编号