SQL:包含计算数据的新列

时间:2014-06-02 21:30:01

标签: sql oracle

无需创建新表格

我正在尝试创建一个临时列,名为“New Hourly Pay”(仅用于输出),用于计算教师的“每小时工资+ 10%”。

所以我尝试了以下内容,

SELECT Staff_Id, First_Name, Surname, Hourly_Rate AS "Old Hourly Rate", "New_Hourly_Rate"
AS (Hourly_Rate= Hourly_Rate + (Hourly_Rate*.10))
FROM copy_AM_Staff
WHERE Staff_Type = 'Instructor'

但它没有预期的结果。

2 个答案:

答案 0 :(得分:2)

首先,您应该使用列值进行操作,然后才能为其指定别名:

SELECT Staff_Id
     , First_Name
     , Surname
     , Hourly_Rate AS "Old Hourly Rate"
     , (Hourly_Rate*1.10) AS "New_Hourly_Rate"
FROM copy_AM_Staff
WHERE Staff_Type = 'Instructor'

答案 1 :(得分:2)

您没有正确对列进行别名。你实际上是在做两次。

您只需要:

Hourly_Rate + (Hourly_Rate*.10) AS "New_Hourly_Rate"