问题描述
SELECT *,DATE_PART('year',Now()) - DATE_PART('year',birthday) as age
FROM "Users"
ORDER BY
CASE
WHEN true is true THEN age
WHEN true is false THEN name
END DESC
我收到错误:
ERROR: column "age" does not exist
LINE 5: WHEN true is true THEN age
我知道这个 sql 语句可能没有任何意义,但出于测试目的,我已将复杂查询转换为简单版本以更好地强调问题。所以,不要专注于查询的逻辑,而是关注我不能在 CASE 中使用别名列的问题。在那个查询中,我无法避免 CASE。谁能知道如何在 CASE WHEN 语句中使用别名列?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)