代码之家  ›  专栏  ›  技术社区  ›  Sumithran

基于行本身选择结果

  •  0
  • Sumithran  · 技术社区  · 6 年前

    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 以及两者的价值 c1 , c2 c3 ref

    也就是说,
    对于 参考=1
    对于 参考=2 价值 c2级 将被选中

    对于 参考=3 价值 c3级

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

    2 回复  |  直到 6 年前
        1
  •  2
  •   sticky bit    6 年前

    CASE .

    SELECT id,
           CASE ref
             WHEN 1 THEN
               c1
             WHEN 2 THEN
               c2
             WHEN 3 THEN
               c3
           END cx
           FROM elbat;
    
        2
  •  1
  •   Zaynul Abadin Tuhin    6 年前

    使用案例

    select id,case  ref when 1 then c1
    when 2 then c2
     when 3 then c3 
      end as cx from table1
    

    一般情况下函数/表达式

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