2013-07-25 4 views
3

У меня есть следующая проблема. Когда вход пуст, я хочу заменить его на столбец «yellow_code» с псевдонимом «Код». Когда я пытаюсь выполнить внутреннее соединение с псевдонимом «Код» в «GrantCode» в другой таблице, я получаю следующее описание ошибки: «Недопустимое имя столбца« Код ».Как присоединиться к столбцу псевдонима в SQL Server?

В любом случае, чтобы обойти это?

+1

Не могли бы вы предоставить ваш запрос? Вероятно, вы определяете свой псевдоним в том же запросе, который вы пытаетесь использовать в 'JOIN', вам нужно либо поместить псевдоним в подзапрос, либо использовать оператор' CASE' в вашем 'JOIN' –

+0

да, псевдоним определяется в том же запросе. Вместо этого я использовал оператор case в соединении. – anm

+0

Другой распространенный способ справиться с этим - через CTE:; с подзапросом AS (SELECT blah из первой таблицы) SELECT * FROM подзапроса INNER JOIN otherQuery ON blah. – pmbAustin

ответ

4

Алиас SELECT-column - это, по сути, последнее, что нужно применить к оператору и, как таковое, недоступно для объединений «ниже вниз», которые составляют часть запроса в целом. Однако вы можете получить доступ к псевдониму, если ссылаетесь на внешний выбор

например.

select my_code from 
(
select 1 as my_code from .... 
) x 
Смежные вопросы