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
非常感谢任何意见,并提前感谢您!
丹尼尔
答案 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;