gpt4 book ai didi

postgresql - 临时列 "doesn' t 存在吗?”

转载 作者:行者123 更新时间:2023-11-29 14:11:42 28 4
gpt4 key购买 nike

我有一个名为 adjust_status 的存储函数和一个包含 status 列的表 users

select
adjust_status(status) as adjusted_status
from users
where adjusted_status > 0;

它说 adjusted_status 不存在。为什么?我该如何解决这个问题?

最佳答案

您不能在定义别名的同一级别上引用别名。您需要使用派生表:

select *
from (
select adjust_status(status) as adjusted_status
from users
) t
where adjusted_status > 0;

这当然可以扩展:

select *
from (
select adjust_status(u.status) as adjusted_status,
u.some_other_column,
f.yet_another_column
from users u
join foo f on f.some_id = u.some_other_id
) t
where adjusted_status > 0;

关于postgresql - 临时列 "doesn' t 存在吗?”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19337960/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com