SQLエラー 「hoge is ambiguous」

Masanari KIMURA 48views 更新:2016年4月4日

テーブルを結合して出力する際に、どちらのテーブルのカラムであるかを明示していない場合に吐くエラー。


test1
+——-+————-+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+——-+————-+——+—–+———+——-+
|name | varchar(30) | YES | | NULL | |
|money | int(11) | YES | | NULL | |
+——-+————-+——+—–+———+——-+


test2
+——-+————-+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+——-+————-+——+—–+———+——-+
| name | varchar(30) | YES | | NULL | |
| id | int(11) | YES | | NULL | |
+——-+————-+——+—–+———+——-+

nameが重複しています。

エラーとなるSQL文

 SELECT
 id, name
 FROM test1
 INNER JOIN test2 ON test1.name = test2.name

どちらのテーブルのカラムであるか明示したSQL文

 SELECT
 id, test1.name
 FROM test1
 INNER JOIN test2 ON test1.name = test2.name

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません