私はこのようにSQLに新しいです。ここに私の2つのテーブルがあります。SQLのシンプルなJOIN
persons
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| given_name | varchar(30) | NO | | NULL | |
| family_name | varchar(30) | NO | | NULL | |
+-------------+-------------+------+-----+---------+----------------+
courses
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| teacher_id | int(11) | NO | MUL | NULL | |
| name | varchar(30) | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
ここでここで
ERROR 1052 (23000): Column 'id' in field list is ambiguous
は、私がここで間違って何をやっている、私はエラーとして何を得るのです
mysql> SELECT id, given_name, family_name FROM persons, courses WHERE courses.teacher_id = persons.id;
、私の簡単な文を登録しよう。どんな助けもありがたい。あなたはもちろんのIDや人のことをしたい場合
SELECT persons.id, given_name, family_name
FROM persons, courses
WHERE courses.teacher_id = persons.id;
または
SELECT courses.id, given_name, family_name
FROM persons, courses
WHERE courses.teacher_id = persons.id;
が依存:
あなたは何を望みますか? persons.idまたはcourses.id? –
あなたはどんな結果が期待されますか? idは両方のテーブルにあり、暗黙的な結合を行っています。エイリアスなしでは、IDを選択しているためエラーになります。 –
あなたの 'JOIN文 'の' JOIN'はどこですか? – Daniel