Никогда не используйте запятые в предложении FROM
. Всегда используйте правильный, явный синтаксис JOIN
:
select t2.table2_id, t2.table1_id, t1.table1_name, t2.table2_description
from table1 t1 join
table2 t2
on t2.table1_id = t1.table1_id;
Проблема вашего запроса в том, что у вас есть две ссылки на table1
из-за запятой.Вы упомянули стол дважды.Следовательно, когда вы ссылаетесь на колонку, движок не знает, на что вы ссылаетесь.Ваша версия эквивалентна:
from table1 cross join
table2 join
table1
on table2.table1_id = table1.table1_id
table1
появляется дважды, поэтому любая ссылка на нее неоднозначна.
Вы заметите, что я также добавил псевдонимы таблиц в запрос.Псевдонимы таблиц облегчают написание и чтение запроса.