我在 Athena 上的嵌套 select 语句出现问题(列无法解析)
Issue with my nested select statement on Athena (Column cannot be resolved)
我正在编写一个相当简单的嵌套 select 查询来更改其中一个列中的值,但由于某种原因,我不断收到与列解析相关的错误:"Column 'test1' cannot be resolved"
根据这个问题的调查结果:
我尝试删除该列并重新添加它,但没有成功。
此外,当我执行下面的命令时它起作用了。
select
test1, test2, test3
from datanewdb;
这是无效的代码:
select
test1, test2, test3
from (
select
'FILLER',
test2,
test3
from datanewdb)
datanewdb
where test1 = '123';
table上那些列的实际值:
- 测试 1:代码 250
- 测试 2:12.50
- 测试 3:阴性
我希望我的代码 return:
- 测试 1:填充物
- 测试 2:12.50
- 测试 3:阴性
对于 SQL 中的 sub-query,只有 SELECT
子句中定义的列会暴露在 sub-query 之外。如果您希望能够引用与新文字值 'FILLER'
关联的列,您需要将其命名为:
select test1, test2, test3
from (
select
'FILLER' AS test1,
test2,
test3
from datanewdb
) datanewdb
where test1 = '123';
我正在编写一个相当简单的嵌套 select 查询来更改其中一个列中的值,但由于某种原因,我不断收到与列解析相关的错误:"Column 'test1' cannot be resolved"
根据这个问题的调查结果:
此外,当我执行下面的命令时它起作用了。
select
test1, test2, test3
from datanewdb;
这是无效的代码:
select
test1, test2, test3
from (
select
'FILLER',
test2,
test3
from datanewdb)
datanewdb
where test1 = '123';
table上那些列的实际值:
- 测试 1:代码 250
- 测试 2:12.50
- 测试 3:阴性
我希望我的代码 return:
- 测试 1:填充物
- 测试 2:12.50
- 测试 3:阴性
对于 SQL 中的 sub-query,只有 SELECT
子句中定义的列会暴露在 sub-query 之外。如果您希望能够引用与新文字值 'FILLER'
关联的列,您需要将其命名为:
select test1, test2, test3
from (
select
'FILLER' AS test1,
test2,
test3
from datanewdb
) datanewdb
where test1 = '123';