Mysql 基于行本身选择结果

Mysql 基于行本身选择结果,mysql,sql,select,Mysql,Sql,Select,我有一个类似MySQL的表 id | ref | c1 | c2 | c3 --------------------------- 1 | 3 | x | y | z 2 | 2 | a | b | c 3 | 1 | p | q | r 4 | 3 | m | n | o 5 | 2 | j | k | l 我的问题是我如何根据列ref的值选择id和c1、c2或c3 也就是说, 对于ref=1将

我有一个类似MySQL的表

id  | ref  | c1  | c2  | c3
---------------------------
1   | 3    | x   | y   | z
2   | 2    | a   | b   | c
3   | 1    | p   | q   | r
4   | 3    | m   | n   | o
5   | 2    | j   | k   | l
我的问题是我如何
根据列
ref
的值选择
id
c1
c2
c3

也就是说,
对于ref=1将选择c1的值,
对于ref=2将选择c2的值

对于ref=3,将选择c3的值

所需结果:

id  | cX 
-----------
1   | z
2   | b
3   | p
4   | o
5   | k

感谢您的帮助

请使用
案例

SELECT id,
       CASE ref
         WHEN 1 THEN
           c1
         WHEN 2 THEN
           c2
         WHEN 3 THEN
           c3
       END cx
       FROM elbat;

使用
案例

SELECT id,
       CASE ref
         WHEN 1 THEN
           c1
         WHEN 2 THEN
           c2
         WHEN 3 THEN
           c3
       END cx
       FROM elbat;
使用时的用例

select id,case  ref when 1 then c1
when 2 then c2
 when 3 then c3 
  end as cx from table1
通用case函数/表达式

CASE expression
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
   ...
    WHEN conditionN THEN resultN
    ELSE result
END
使用时的用例

select id,case  ref when 1 then c1
when 2 then c2
 when 3 then c3 
  end as cx from table1
通用case函数/表达式

CASE expression
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
   ...
    WHEN conditionN THEN resultN
    ELSE result
END

提示:使用
case
表达式。提示:使用
case
表达式。通用表达式。它仍然不是case语句,而是case表达式!一般表达式。它仍然不是一个case语句,它是一个case表达式!