SQL查询 - 用户定义列中的条件值

时间:2018-02-20 14:51:31

标签: mysql sql conditional user-defined

Hi Stack Overflow社区,

我正在研究如何创建一个查询,该查询根据另一列中的值有条件地在用户定义的列中分配值。我不知道这是否完全可能,因为我无法找到任何关于此的参考。我知道只需输入类似'黄色'之类的内容即可创建用户定义的列。作为Color,但这些仅限于静态值。

我提供了下面输出的示例,最终结果是用户定义的列值将是一个字符串。

   X(Column from Table) Color(User-Defined Column)
   1                     if X = 1, Color = 'Brown'
   2                     if X = 2, Color = 'Blue'
   3                     if X = 3, Color = 'Red'
   4                     if X = 4, Color = 'Orange'
   5                     if X = 5, Color = 'Purple'

 X  Color
 1   Brown
 2   Blue
 3   Red
 4   Orange
 5   Purple

非常感谢任何意见,并提前感谢您!

丹尼尔

1 个答案:

答案 0 :(得分:1)

对于少量可用值,我认为最合适的情况。

SELECT X,
CASE
    WHEN X = 1 THEN "Brown"
    WHEN X = 2 THEN "Blue"
    WHEN X = 3 THEN "Red"
    WHEN X = 4 THEN "Orange"
    WHEN X = 5 THEN "Purple"
    ELSE "No color"
END AS Color
FROM Table;