Oracle - простой вопрос, большой ответ - PullRequest
1 голос
/ 27 мая 2011

Я новичок в Oracle и столкнулся со следующей проблемой с использованием псевдонимов столбцов в кавычках в подзапросе.

Следующий запрос работает:

select r.exp1 + r.exp2 result from
  (select 5+1 exp1, 6+7 exp2 from dual) r

Однако этот запрос генерирует "r"."exp1" ошибка неверного идентификатора:

select r.exp1 + r.exp2 result from
  (select 5+1 "exp1", 6+7 exp2 from dual) r

Есть ли способ использовать идентификаторы в кавычках в подзапросе, что я действительно хочу сделать, это что-то вроде:

select r.[First Sum] + r.exp2 result from
  (select 5+1 "First Sum", 6+7 exp2 from dual) r

Спасибо Майк Томас

1 Ответ

5 голосов
/ 27 мая 2011

Двойные кавычки делают псевдоним чувствительным к регистру, поэтому ваш пример exp1 не сработал так, как вы ожидали. Без двойных кавычек он оценивается как «EXP1», где в подзапросе у вас было «exp1». Вы должны просто иметь возможность использовать двойные кавычки во внешнем запросе для достижения того, что вы хотите:

select r."First Sum" + r.exp2 result
from   (select 5+1 "First Sum", 6+7 exp2 from dual) r
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...