加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:18:49 所属栏目:百科 来源:网络整理
导读:我想从不在数据库中的enumaration中进行选择. 例如. SELECT id FROM my_table返回值1,2,3 我想显示1 – ‘chocolate’,2 – ‘椰子’,3 – ‘pizza’等SELECT CASE有效,但太复杂,难以概述许多值.我想到了类似的东西 SELECT id,array['chocolate','coconut','
我想从不在数据库中的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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读