首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于列运算,该如何解决

2012-01-21 
关于列运算 SELECT姓名,语文,数学,isnull(语文,0)+isnull(数学,0)AS总分FROM学生成绩表我需要在上表基本上

关于列运算

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 学生成绩表)
[解决办法]
还是楼主自己的写法比较好一点。

热点排行
Bad Request.