Postgres列不存在,但它有别名

Zso*_*ogh 8 sql postgresql

我有一个生成的Postgres查询

select ..., s.name as supplier, ...
from ... supplier s ...
where ...
      AND (cast(supplier as varchar(255)) ilike '%test%')
      ...
ORDER BY supplier desc nulls last
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

org.postgresql.util.PSQLException:错误:列"供应商"不存在

如果我用s.name替换"供应商"那么它没关系,但我不能这样做.我在其他列上也有这个问题,但有些列工作正常.

有一些限制,我不能使用与表名相同的别名或可能是什么问题?

Zso*_*ogh 5

我在这里找到了解释:http://www.postgresql.org/message-id/18195.1038530280@sss.pgh.pa.us

我不能使用WHERE子句中select的别名.

  • 有没有办法解决? (5认同)