jurisdiction_id
, j.jurisdiction_name jurisdiction_name
, cond_j.jurisdiction_id cond_jurisdiction_id
, cond_j.jurisdiction_name cond_jurisdiction_name
from catalog_item_resource as cir
left join catalog_item as ci on ci.catalog_item_id=cir.catalog_item_id
left join mv_jurisdiction as j on ci.jurisdiction_id=j.jurisdiction_id
left join mv_jurisdiction as cond_j on ci.conditional_jurisdiction_id=cond_j.jurisdiction_id
where cond_jurisdiction_name='qweasd'
получаю ERROR: column "cond_jurisdiction_name" does not exist
если делаю
where jurisdiction_name='qweasd'
получаю ERROR: column reference "jurisdiction_name" is ambiguous
есть ли какой-то способ "заставить" where использовать alias, а не синтаксис через точку типа j.jurisdiction_name?
Вы же читаете ошибку и понимаете значение слова "ambiguous" .Потому что поле jurisdiction_name есть в более чем одной таблице запроса и сервер не понимает какую из них вы имеете в виду
Насколько я помню алиасные имена можно использовать только в order by... Это, подозреваю, связано с union... В where строго имя поля
"есть ли какой-то способ "заставить" where использовать alias, а не синтаксис через точку типа j.jurisdiction_name?" Кстати есть, если очень хочется... CTE
>Кстати есть, если очень хочется... CTE вот это очень подходит спс
Обсуждают сегодня