2016-10-02 9 views
2

私は2つのテーブルを持っています.1つはEmployee、もう1つはDeptです。SQL Serverの結合で重複する列名を結合する方法?

EmployeeテーブルはIDある列、Name、及びDeptIdを有し、そしてDeptテーブルは列IDDeptNameを有しています。クエリを記述する場合

は今:

Select 
    ID, Name, ID, DeptName 
from 
    Employee 
Inner Join 
    Dept On Employee.DeptID = Dept.ID 

それは私が意味どのID列を知らないので、私はエラーを取得します。列を一意に定義するにはどうすればよいですか?

+0

Deptテーブルを確認してください。カラムIDはありますか? –

+0

はい、Deptテーブルがありました。問題は解決されました。実際には、私は左の表の列と右の表の列を区別する必要がありました。 –

答えて

3

を使用するだけDeptテーブル内のID列からEmployee表にID列をdistiguishするための明示的な別名が含まれます。あなたはまた、代わりにANの修飾子としてテーブル名を使用することができます

SELECT e.ID AS employeeID, 
     e.Name, 
     e.DeptId, 
     d.ID AS deptID, 
     d.DeptName 
FROM Employee e 
INNER JOIN Dept d 
    ON e.DeptID = d.ID 
+1

完璧に機能しました。それは多くの助けになりました!ありがとう。 –

4

は別名

Select E.ID as EmpID 
    , E.Name 
    , D.ID as DepID 
    , D.DeptName 
From Employee E 
Inner Join Dept D 
On E.Employee.DeptID = D.Dept.ID 
0

:実際には、参加をしているとき、あなたのクエリは次のようになりますので、別名で列を参照してください常ににベストプラクティスです別名:

Select 
    Employee.ID, Employee.Name, Dept.ID, Dept.DeptName 
from 
    Employee 
Inner Join 
    Dept On Employee.DeptID = Dept.ID 
関連する問題