Я новичок в SQL, поэтому вопрос. Вот мои две таблицы.Простой JOIN в SQL
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 | |
+------------+-------------+------+-----+---------+----------------+
Вот мой простой РЕГИСТРИРУЙТЕСЬ заявление,
mysql> SELECT id, given_name, family_name FROM persons, courses WHERE courses.teacher_id = persons.id;
Вот что я получаю как ошибка,
ERROR 1052 (23000): Column 'id' in field list is ambiguous
Что я делаю неправильно здесь. Любая помощь оценивается.
, который вы хотите? people.id или courses.id? –
Что вы ожидали результата? id находится в обеих таблицах, и вы выполняете неявное соединение и без псевдонима вы выбираете id и, следовательно, ошибку. –
Где 'JOIN' в вашем' JOIN statement'? – Daniel