微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从PostgreSQL中的枚举列表中选择值

我想从不在数据库中的enumaration中进行选择.

例如. SELECT id FROM my_table返回值1,2,3
我想显示1 – > ‘chocolate’,2 – > ‘椰子’,3 – > ‘pizza’等SELECT CASE有效,但太复杂,难以概述许多值.我想到了类似的东西

SELECT id,array['chocolate','coconut','pizza'][id] FROM my_table

但我无法成功使用数组.有一个简单的解决方案吗?所以这是一个简单的查询,而不是plpgsql脚本或类似的东西.

with food (fid,name) as (
  values 
     (1,'chocolate'),(2,'coconut'),(3,'pizza')
)
select t.id,f.name
from my_table t
  join food f on f.fid = t.id;

或没有CTE(但使用相同的想法):

select t.id,f.name
from my_table t
  join (
     values 
       (1,'pizza')
  ) f (fid,name) on f.fid = t.id;

原文地址:https://www.jb51.cc/postgresql/192167.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐