sql 明明有列 报 列名无效

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:46:18
select 学号,考勤总分 into ls
from 奖惩考勤表 where 是否最终成绩='是'
and 学号 in (select 学号 from inserted)

update 综合成绩表
set 考勤成绩=考勤总分/150.0*100
from 综合成绩表
INNER JOIN ls
on ls.学号 = 综合成绩表.学号
drop table ls

select 学号,sum(分数)/count(学号) as 作业分数 into ls
from 作业成绩表
where 学号 in (select 学号 from inserted)
group by 学号

update 综合成绩表 set 作业成绩=作业分数
from 综合成绩表
inner join ls
on ls.学号=综合成绩表.学号
drop table ls
不好意思,忘补充了。
系统说 列名'考勤总分'无效 列名'作业分数'无效
可我的奖惩考勤表里面明明有'考勤总分'这一列呀 ! 而作业分数是我命名的新列呀
ls 是我设计的临时表的名字

select 学号,考勤总分 into ls
from 奖惩考勤表 where 是否最终成绩='是'
and 学号 in (select 学号 from inserted)

update 综合成绩表 a
set a.考勤成绩=b.考勤总分/150.0*100
from 综合成绩表 a
INNER JOIN ls b
on b.学号 = a.综合成绩表.学号
drop table ls

select 学号,sum(分数)/count(学号) as 作业分数 into ls
from 作业成绩表
where 学号 in (select 学号 from inserted)
group by 学号

update 综合成绩表 a set a.作业成绩=b.作业分数
from 综合成绩表 a
inner join ls b
on b.学号=a.学号
drop table ls

更新的时候需要指明是属于哪个表的列名

以上,希望对你有所帮助

看代码看不出明显的问题,给出一些原则,你再上机反复调试一下试试:
1.多表查询时,对列的引用尽量加上表名,如:表名.字段名;
2.drop table语句尽量不要和其它语句放在同一个批语句里,请前后都用go语句将它们分开

不知道你select into语句后面跟的ls是一个变量还是数组?如果只是一个变量这个语句当然有问题,select 后的字段数目要和 into 后面的变量数类型数目对应一致

可能是没有标识清楚是那个表的列吧

具体哪一句话报错?