SQL 查询 - 用户定义列中的条件值
SQL Query - Conditional Values in a User-defined Column
嗨 Stack Overflow 社区,
我正在研究如何创建一个查询,该查询根据另一列中的值有条件地在用户定义的列中分配值。我不知道这是否完全有可能,因为我找不到任何相关的参考资料。我知道可以通过输入 'Yellow' As 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
如有任何意见,我们将不胜感激,并提前致谢!
丹尼尔
对于少量可用值,我认为大小写最合适。
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;
嗨 Stack Overflow 社区,
我正在研究如何创建一个查询,该查询根据另一列中的值有条件地在用户定义的列中分配值。我不知道这是否完全有可能,因为我找不到任何相关的参考资料。我知道可以通过输入 'Yellow' As 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
如有任何意见,我们将不胜感激,并提前致谢!
丹尼尔
对于少量可用值,我认为大小写最合适。
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;