2016-08-15 10 views
1

2つの計算を実行して列の別名を設定するコードの実装に問題があります。選択クエリで給与と列のエイリアスを更新する

状況の説明:

管理は10%で全従業員の給料を増やしたいと考えています。 empid、現在の給与、増額された給与、増分された金額を表示するクエリを作成します。

EmpDdと給与はEmpDetailsテーブルの既存の列です。

のMy Oracle SQL試行:

SELECT 
EmpId, 
Salary AS 'Current Salary', 
Salary*1.10 AS 'New Salary', 
Salary*1.10-Salary AS 'Incremented Amount' 
FROM EmpDetails 

私の試みからの出力は何もありません。インタプリタはエラーメッセージをサポートしておらず、なんらかの理由で問題が間違っていると正しいコードが表示されている問題があります。これは、Oracle SQL構文を学んでいるうちに私を混乱させてしまったので、問題は私の試みの中の構文になりそうです。

複数の変更/更新/選択コマンドを使用する新しいSQLの方に、私が試みたような冗長な選択クエリとして有効な方法がありますか?

+1

単一引用符は文字列リテラルのためのもので、列の別名などの識別子名には使用できません。既に答えで指摘されているように、二重引用符を使用する必要があります。あるいは、あなたのエイリアスにスペースを入れないでください。二重引用符をまったく必要としません。 – sstan

+0

ありがとう!私は間違いなくhttp://www.w3schools.com/sql/sql_alias.aspから二重引用符の代わりに一重引用符を拾ったと思います。スペーシングに関しては、私はスペースを入れずにやりたいと思っていますが、この評価されていないコースであなたのソリューションをテストする通訳は、正解に関して非常に具体的です。 – BrightHalo

+0

w3schoolsについての注意。あなたがそこで読んだすべてがOracleデータベースで動作するわけではありません。構文はデータベースによって異なる場合があり、w3schoolsは主にSQL Serverを対象としているようです。心に留めておくだけのもの。 – sstan

答えて

2

エイリアスを二重引用符で囲みます。

SELECT 
EmpId, 
Salary AS "Current Salary", 
Salary*1.10 AS "New Salary", 
Salary*1.10-Salary AS "Incremented Amount" 
FROM EmpDetails 
+0

ありがとう!申し訳ありませんが、私のところでは非常に小さな構文エラーが判明しました。未分類のコースは、非常に基本的なSELECT/INSERT/UPDATEクエリのみを教えるものであり、コースに関連付けられた記述を実行するために必要なASやその他の操作を使用する方法についての洞察はありません。 – BrightHalo

関連する問題