从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;

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...