biao1跟biao2必须同时插入数据,不然后面计算‘生产人员五日平均数’时会出现错误,因为没经过现场测试,下面的代码仅供参考,基本思路是这样的;当然了,如果楼主的biao1中不会有新数据,仅想在原有数据进行统计,也可参考过程中update部分的语句
create trigger t_insert
on biao1
for insert
as
begin
insert into Fenxi1
select 货物代码,日期,0,0,0 from inserted
if @@error<>0
begin
raiserror 33334 '插入失败!'
rollback
return
end
update Fenxi1 set 五日平均生产量=(select avg(日生产量) from biao1 where datediff(day,日期,getdate())=4) where 货物代码=(select 货物代码 from inserted) and 统计日期=(select 日期 from inserted)
update Fenxi1 set 十日平均生产量=(select avg(日生产量) from biao1 where datediff(day,日期,getdate())=9) where 货物代码=(select 货物代码 from inserted) and 统计日期=(select 日期 from inserted)
update Fenxi1 set 生产人员五日平均数=(select avg(生产人员数) from biao2 where datediff(day,日期,getdate())=4) where 货物代码=(select 货物代码 from inserted) and 统计日期=(select 日期 from inserted)
if @@error<>0
begin
raiserror 33334 '更新失败!'
rollback
return
end
end
go
create table 新表名as
你的sql语句
你的sql语句中,有字段用函数表示的,必须起别名
如
creata table 新的表名as
select a,count(b) as bb from 表名 group by a
count(b)必须起别名,这里起的是bb
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)