我正在编写一个相当简单的嵌套select查询,以更改其中一个列中的值,但出于某种原因,我一直收到一个与列的分辨率有关的错误:“列'test1‘无法解析”
根据调查结果,这个问题:Amazon Athena - Column cannot be resolved on basic SQL WHERE query,我尝试删除该专栏,然后毫无希望地重新添加它。
另外,当我执行下面的操作时,它可以工作。
select
test1, test2, test3
from datanewdb;
下面是不起作用的代码:
select
test1, test2, test3
from (
select
'FILLER',
test2,
test3
from datanewdb)
datanewdb
where test1 = '123';
表中这些列的实际值:
我希望我的代码能够返回:
发布于 2019-05-16 12:12:01
对于SQL中的子查询,只有SELECT
子句中定义的列在子查询之外公开。如果您希望能够引用与新的文本值'FILLER'
关联的列,则需要将其命名为:
select test1, test2, test3
from (
select
'FILLER' AS test1,
test2,
test3
from datanewdb
) datanewdb
where test1 = '123';
https://stackoverflow.com/questions/56174440
复制相似问题