gpt4 book ai didi

sql - WHERE 子句中的引用别名

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

在 psql 中,尝试在 WHERE 子句中引用别名:

SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
_year > 90

它会导致错误:

ERROR:  column "_year" does not exist
LINE 1: ...STRING (pk, 6, 2)::INT AS _year FROM listing WHERE _year > 90...
^
********** Error **********

ERROR: column "_year" does not exist

是否可以在 WHERE 子句中引用别名?

最佳答案

这在sql中是不可能的,执行顺序是先where子句再select。在执行 where 子句时,它不知道您将什么定义为别名,因此您会收到该错误。

你需要像这样重写你的查询..

SELECT
SUBSTRING(pk, 6, 2)::INT AS _year
FROM
listing
WHERE
SUBSTRING(pk, 6, 2)::INT > 90

关于sql - WHERE 子句中的引用别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650246/

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