关于列运算
SELECT 姓名,语文,数学,isnull(语文,0)+isnull(数学,0) AS 总分
FROM 学生成绩表
我需要在上表基本上再加一列平均分(总分/2)
为什么我这样写有错:
SELECT 姓名,语文,数学,isnull(语文,0)+isnull(数学,0) AS 总分 ,总分/2 AS 平均分
FROM 学生成绩表
提示说“总分 这列不存在。”
难到一定要写成
SELECT 姓名,语文,数学,isnull(语文,0)+isnull(数学,0) AS 总分 ,(isnull(语文,0)+isnull(数学,0))/2 AS 平均分
FROM 学生成绩表
???
------解决方案--------------------不能这么写。
------解决方案----------------------try
select tmp.*, 总分/2 AS 平均分
from
(
SELECT 姓名, 语文, 数学,
isnull(语文,0)+isnull(数学,0) AS 总分
FROM 学生成绩表
)tmp
------解决方案-------------------- SELECT 姓名,语文,数学,isnull(语文,0)+isnull(数学,0) AS 总分,总分/2 AS 平均分 FROM (
SELECT 姓名,语文,数学,isnull(语文,0)+isnull(数学,0) AS 总分 FROM 学生成绩表)
------解决方案--------------------还是楼主自己的写法比较好一点。