这样的功能能不能实现?语句怎么写?
A表:
年月院系专业语文选修人数数学人数法语人数物理人数
200701电子系电子工程 65 585295
200701电子系微电子 25 365252
200701自动化系人工智能 12 851210
200701自动化系计算机图形 58 252120
200701计算机系人工智能 21 152130
200701计算机系计算机图形85 652568
B表:
年月院系年级哲学选修人数古代汉语物理学史
200701电子系一年级215258 85
200701电子系二年级101010 58
200701自动化系一年级101020 36
200701自动化系三年级658565 25
C表:
年月类别文科选修人数理科选修人数哲学古代汉语物理学史
200701总计
200701电子工程
200701微电子
。。。。。。
200701一年级
……
200701其他
文科选修人数=语文选修人数+法语人数
理科选修人数=数学人数+物理人数
我想从A表和B表的数据,按到现在C表的这种顺序自动插入到C表,可以吗?
[解决办法]
create table A(年月 varchar(10), 院系 varchar(20), 专业 varchar(20), 语文选修人数 int, 数学人数 int, 法语人数 int, 物理人数 int)
insert A select '200701 ', '电子系 ', '电子工程 ',65,58,52,95
union all select '200701 ', '电子系 ', '微电子 ',25,36,52,52
union all select '200701 ', '自动化系 ', '人工智能 ',12,85,12,10
union all select '200701 ', '自动化系 ', '计算机图形 ',58,25,21,20
union all select '200701 ', '计算机系 ', '人工智能 ',21,15,21,30
union all select '200701 ', '计算机系 ', '计算机图形 ',85,65,25,68
go
create table B(年月 varchar(10), 院系 varchar(20), 年级 varchar(20), 哲学选修人数 int, 古代汉语 int, 物理学史 int)
insert B select '200701 ', '电子系 ', '一年级 ',21,52,58
union all select '200701 ', '电子系 ', '二年级 ',10,10,10
union all select '200701 ', '自动化系 ', '一年级 ',10,10,20
union all select '200701 ', '自动化系 ', '三年级 ',65,85,65
go
create table C(年月 varchar(20), 类别 varchar(20), 文科选修人数 int, 理科选修人数 int, 哲学 int, 古代汉语 int, 物理学史 int)
insert C select * from
(
select 年月, 专业= '总计 ', 文科选修人数=sum(文科选修人数), 理科选修人数=sum(理科选修人数),
哲学选修人数=sum(哲学选修人数), 古代汉语=sum(古代汉语), 物理学史=sum(物理学史)
from
(
select 年月, 文科选修人数=isnull(语文选修人数, 0)+isnull(法语人数, 0), 理科选修人数=isnull(数学人数, 0)+isnull(物理人数, 0),
哲学选修人数=0, 古代汉语=0, 物理学史=0
from A
union all
select 年月, 文科选修人数=0, 理科选修人数=0, 哲学选修人数, 古代汉语, 物理学史
from B
)tmp group by 年月
union all
select 年月, 专业, 文科选修人数=sum(isnull(语文选修人数, 0)+isnull(法语人数, 0)), 理科选修人数=sum(isnull(数学人数, 0)+isnull(物理人数, 0)),
哲学选修人数=0, 古代汉语=0, 物理学史=0
from A
group by 年月, 专业
union all
select 年月, 年级, 文科选修人数=0, 理科选修人数=0,
哲学选修人数=sum(哲学选修人数), 古代汉语=sum(古代汉语), 物理学史=sum(物理学史)
from B
group by 年月, 年级
)tmp
[解决办法]
access数据库中是没有触发器的.你只能用前台语言定时扫描表的方法.来做出相应处理....
[解决办法]
这么小的数据库 没怎么研究过 纯支持额
sql就可以使用触发器的说
[解决办法]
暈,看看頭暈..