曖昧な列名のエラーと SQL Server Alias(TSQL)

テーブルからデータを読み取るとき、テーブルと列に異なる名前を付ける必要がある場合があります。

最初の例では、テーブルに異なる名前を付けます。

例1:

私たちは通常、テーブルを結合するときにエイリアスを与える必要があります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14

use
go
create table .(
identity(1,1) not null,
(50) null
) on
go
create table .(
identity(1,1) not null,
(50) null,
). on
go
insert into . VALUES (‘Nurullah’),(‘Faruk’)
INSERT INTO . VALUES (‘CAKIR’),(‘ERDEM’)

それから次の結合クエリを実行してみてください。

1
2

SELECT ,, FROM .NET.NET.COM.JP.JP.JP.JP.JP.JP.JP。
inner join . ON …=.

クエリを実行すると、次のようなエラーが発生します。

Msg 209, Level 16, State 1, Line 17

列名 ‘ID’ はあいまいな名前です。

エラーの原因は、ID 列が両方のテーブルに存在することです。

この場合、エイリアスを使用してクエリを記述すると、問題は解決されます。

1
2

SELECT tbl1.,tbl1.,tbl2. FROM .tbl1
INNER JOIN .tbl2 ON tbl1.=tbl2.

2番目の例では、列へのエイリアスを記述します。

例2:

最初のテーブルと第2のテーブルを結合するとき、名前と苗字を+演算子で結合します。 その結果、カラムに別名をつけてみましょう。

1
2

SELECT tbl1.,tbl1.SELECT tbl1.SELECT tbl1. +’ ‘+tbl2. AS ‘Name_Surname’ FROM .tbl1
INNER JOIN .tbl2 ON tbl1.=tbl2.

コメントを残す

メールアドレスが公開されることはありません。