新建一个视图,SELECT
驾驶员.姓名 姓名,
round(round(to_number(sysdate - 驾驶员.出生日期))/365) AS 年龄,
round(round(to_number(sysdate - 驾驶员.领证日期))/365) AS 驾龄,
round(round(to_number(sysdate - 驾驶员.领证日期))/365 - 1) AS 从业年龄,
驾驶员.身高 身高,
驾驶员.体重 体重,
驾驶员.视力 视力,
驾驶员.听力 听力,
驾驶员.速估测定 速度估计检测值,
驾驶员.动视测定 动体视力检测值,
驾驶员.暗适测定 暗适应检测值,
驾驶员.深视测定 深度知觉检测值,
驾驶员.处判测定 处置判断检测值,
驾驶员.综合评价 适宜性综合评价值,
1 - 0.01*(abs(年龄-35)/25 + (exp(驾龄-3)-exp(3-驾龄))/(exp(驾龄-3)+exp(3-驾龄)) + (exp(从业年龄-3)-exp(3-从业年龄))/(exp(从业年龄-3)+exp(3-从业年龄))) AS 年龄类计权值
FROM
驾驶员但是老报错,说是语法没有错误, 无法解析列 年龄
哪位大大帮忙看看啊。。谢谢了。。
驾驶员.姓名 姓名,
round(round(to_number(sysdate - 驾驶员.出生日期))/365) AS 年龄,
round(round(to_number(sysdate - 驾驶员.领证日期))/365) AS 驾龄,
round(round(to_number(sysdate - 驾驶员.领证日期))/365 - 1) AS 从业年龄,
驾驶员.身高 身高,
驾驶员.体重 体重,
驾驶员.视力 视力,
驾驶员.听力 听力,
驾驶员.速估测定 速度估计检测值,
驾驶员.动视测定 动体视力检测值,
驾驶员.暗适测定 暗适应检测值,
驾驶员.深视测定 深度知觉检测值,
驾驶员.处判测定 处置判断检测值,
驾驶员.综合评价 适宜性综合评价值,
1 - 0.01*(abs(年龄-35)/25 + (exp(驾龄-3)-exp(3-驾龄))/(exp(驾龄-3)+exp(3-驾龄)) + (exp(从业年龄-3)-exp(3-从业年龄))/(exp(从业年龄-3)+exp(3-从业年龄))) AS 年龄类计权值
FROM
驾驶员但是老报错,说是语法没有错误, 无法解析列 年龄
哪位大大帮忙看看啊。。谢谢了。。
解决方案 »
- 请教:我安装的oracle10.2怎么没有SQL Load的DEMO?谢谢。
- 在线等急急ORA-12500: TNS: 监听程序无法启动专用服务器进程
- 参数化错误,请帮忙看一下
- 帮我看看这个排序 select * From Book Order by uId
- 50分,求一条sql语句,各位路过的大哥,进来休息一下。。。。。。。。。
- ora-12560错误
- 如何能监视任意用户对某个表的UPDATE和DELETE操作,并把该用户的计算机名称或者IP地址保存到自定义表中
- 多cpu的使用
- Oracle日期函数
- sql developer 无法加载当前用户下的表 部分表格无法查询结果
- 客户端连接oracle为什么无法正常生成SQL-TRACE
- 游标带有参数的用法
要么把下面的年龄替换成 计算公式 后再编译。
SELECT 姓名,
年龄,
从业年龄,
身高,
体重,
视力,
听力,
速度估计检测值,
动体视力检测值,
暗适应检测值,
深度知觉检测值,
处置判断检测值,
适宜性综合评价值,
1 - 0.01 * (ABS(年龄 - 35) / 25 + (EXP(驾龄 - 3) - EXP(3 - 驾龄)) /
(EXP(驾龄 - 3) + EXP(3 - 驾龄)) +
(EXP(从业年龄 - 3) - EXP(3 - 从业年龄)) /
(EXP(从业年龄 - 3) + EXP(3 - 从业年龄))) AS 年龄类计权值
FROM (SELECT 驾驶员.姓名 姓名,
ROUND(ROUND(TO_NUMBER(SYSDATE - 驾驶员.出生日期)) / 365) AS 年龄,
ROUND(ROUND(TO_NUMBER(SYSDATE - 驾驶员.领证日期)) / 365) AS 驾龄,
ROUND(ROUND(TO_NUMBER(SYSDATE - 驾驶员.领证日期)) / 365 - 1) AS 从业年龄,
驾驶员.身高 身高,
驾驶员.体重 体重,
驾驶员.视力 视力,
驾驶员.听力 听力,
驾驶员.速估测定 速度估计检测值,
驾驶员.动视测定 动体视力检测值,
驾驶员.暗适测定 暗适应检测值,
驾驶员.深视测定 深度知觉检测值,
驾驶员.处判测定 处置判断检测值,
驾驶员.综合评价 适宜性综合评价值
FROM 驾驶员)
round(round(to_number(sysdate - 驾驶员.出生日期))/365) AS "年龄" 年龄是这组计算结果的别名.
别名不能同一层使用的,所以你还要再嵌套一层select来使用. 或者把年龄替换成这组公式也行.
其他几列同理