Проблема с моим вложенным оператором select для Athena (столбец не может быть решен) - PullRequest
0 голосов
/ 16 мая 2019

Я пишу довольно простой вложенный запрос выбора, чтобы изменить значение в одном из моих столбцов, но по какой-то причине у меня продолжает появляться ошибка, связанная с разрешением столбцов: «Столбец« test1 »не может быть разрешен»

Согласно полученным данным этот вопрос: Amazon Athena - Столбец не может быть решен по базовому запросу SQL WHERE Я попытался удалить столбец и добавить его снова, но безуспешно.

Кроме того, когда я выполняю ниже, это работает.

select
test1, test2, test3
from datanewdb;

Вот код, который не работает:

select 
test1, test2, test3
from (
  select
  'FILLER',
  test2,
  test3
  from datanewdb)
datanewdb 
where test1 = '123';

Фактическое значение этих столбцов в таблице:

  • test1: КОД 250
  • test2: 12.50
  • test3: отрицательный

Я ожидаю, что мой код вернется:

  • test1: FILLER
  • test2: 12.50
  • test3: отрицательный

1 Ответ

3 голосов
/ 16 мая 2019

При использовании подзапроса в SQL только столбцы, определенные в предложении SELECT, отображаются вне подзапроса. Если вы хотите иметь возможность ссылаться на столбец, связанный с новым литеральным значением 'FILLER', вам нужно назвать его:

select test1, test2, test3
from (
    select
        'FILLER' AS test1,
        test2,
        test3
    from datanewdb
) datanewdb 
where test1 = '123';
...