我有一个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


我的问题是如何根据列SELECT的值id c1c2c3ref的值

那是,
对于ref = 1,将选择c1的值,
对于ref = 2,将选择c2的值

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

预期结果:

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


任何帮助表示赞赏

最佳答案

使用CASE

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

关于mysql - 根据行本身选择结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52096793/

10-16 08:24