Sql 选择切换/替换列的答案

Sql 选择切换/替换列的答案,sql,postgresql,psql,Sql,Postgresql,Psql,我是一个在SQL方面经验有限的程序员。但本质上我想做的是 SELECT * FROM yesnomaybe_table; 我的输出: yesnomaybe ---------- 0 1 2 1 我的期望输出: yesnomaybe ---------- 45 64 55 64 我调查过这样的案子 SELECT yesnomaybe, CASE WHEN yesnomaybe = 0 THEN 45 WHEN yesnomaybe = 1 THEN 64

我是一个在SQL方面经验有限的程序员。但本质上我想做的是

SELECT * FROM yesnomaybe_table;
我的输出:

yesnomaybe 
----------
0
1
2
1
我的期望输出:

yesnomaybe 
----------
45
64
55
64
我调查过这样的案子

SELECT yesnomaybe, 
    CASE WHEN yesnomaybe = 0 THEN 45
         WHEN yesnomaybe = 1 THEN 64
         ELSE 55
    END
FROM yesnomaybe_table;
但我的输出是:

 yesnomaybe | case 
 -----------+------
     0      |   45
     1      |   64
     2      |   55
     1      |   64

我该如何解决这个问题?

您想要这样的解决方案:

SELECT 
    CASE WHEN yesnomaybe = 0 THEN 45
         WHEN yesnomaybe = 1 THEN 64
         ELSE 55
    END as yesnomaybe
FROM yesnomaybe_table;

在您的示例中,您正在选择yesnomaybe,然后执行一个没有名称的切换。

选择中删除
yesnomaybe
列。顺便问一下,0、1、2有什么问题?用另一组数值替换一组数值对我来说没有太大意义,在我看来,这更像是第一个视图中的随机数。。。