Не работает SQL запрос при добавлении AS
Запрос который работает
select analytics.public.client.name, analytics.public.client.whatsapp, analytics.public.incoming_request.utm_source
from client
inner join incoming_request
on client.id = incoming_request.client_id;
Добавил AS и этот же запрос перестал работать
select analytics.public.client.name, analytics.public.client.whatsapp, analytics.public.incoming_request.utm_source
from client as c
inner join incoming_request as ir
on c.id = ir.client_id
Ну вот как так???
Код ошибки
[42P01] ОШИБКА: в элементе предложения FROM неверная ссылка на таблицу "client" Подсказка: Возможно, предполагалась ссылка на псевдоним таблицы "c". Позиция: 8
Но там нет, я перепроверил
Ответы (1 шт):
Автор решения: Мелкий
→ Ссылка
Для этого случая даже специальную отдельную подсказку выводим
* If we found a match that has an alias and the alias is visible in the
* namespace, then the problem is probably use of the relation's real name
* instead of its alias, ie "SELECT foo.* FROM foo f". This mistake is
* common enough to justify a specific hint.
Запрос вида
SELECT foo.column_name FROM foo as f
Ошибочен. Если вы пишете алиас - то и далее в запросе должны использовать этот алиас, т.е.
SELECT f.column_name FROM foo as f
Поскольку отношения foo более в дереве запроса нет, вы указали ему псевдоним.
PS: указывать имена полей, начиная с имени базы - довольно странная затея. Тогда уж и имена таблиц пишите так же, и все операторы тоже fully qualified, а то как-то непоследовательно.