Ошибка возникает из-за того, что оба столбца tab1
и tab2
имеют столбец с именем d
.
Самое простое решение - исключить подзапрос:
select ?.a, ?.b, ?.d
from tab1 join
tab2
on tab1.id = tab2.id
The ?
- это заполнитель для таблицы, откуда берется столбец.
Если вам нужен подзапрос, вам следует аналогичным образом использовать квалифицированные имена столбцов вместо select *
, чтобы вы могли определить, откуда поступают столбцы.