mysql 临时列做为case
时间: 2023-11-16 11:01:11 浏览: 27
使用MySQL的临时表和case语法可以方便地进行数据查询和处理。下面是一个使用临时表和case语法的例子:
首先,创建一个临时表,表名为mytest,表的内容通过select * from acctmy where gcode = '000454'获取:
```mysql
CREATE TEMPORARY TABLE mytest AS SELECT * FROM acctmy WHERE gcode = '000454';
```
然后,使用case when then else进行查询,将code列的值进行分类:
```mysql
SELECT
CASE
WHEN code = 'c' THEN "this recode's type is c"
WHEN code = 'm' THEN "this recode's type is m"
WHEN code = 'e' THEN "this recode's type is e"
ELSE "啥也不是"
END AS code,
no,
custno,
gcode
FROM mytest;
```
这样就可以将mytest表中的数据按照code列的值进行分类,并输出相应的结果。
相关问题
mysql case when 赋值新列
在MySQL中,可以使用CASE WHEN语句为查询结果赋值新列。根据引用的描述,如果需要根据表中其他几个字段的值判断显示的内容,可以通过以下步骤实现:
1. 执行查询,包括需要判断的字段和其他相关字段。
2. 使用CASE WHEN语句对需要判断的字段进行条件判断,并根据条件返回相应的值。可以使用多个WHEN子句来处理不同的条件情况,也可以使用ELSE子句作为默认值。
3. 可以将CASE WHEN语句作为一个新列的别名,将其添加到SELECT语句中,从而实现为查询结果赋值新列。
举个例子,假设有一个表格名为table_name,其中有字段field1、field2和field3,我们想根据field1的值来赋值一个新的列new_column,可以使用如下的SQL查询语句:
SELECT field1, field2, field3,
CASE WHEN field1 = 'value1' THEN 'a'
WHEN field1 = 'value2' THEN 'b'
ELSE 'c'
END AS new_column
FROM table_name;
在这个例子中,CASE WHEN语句根据field1的值来判断new_column的值,如果field1的值等于'value1',则new_column的值为'a',如果field1的值等于'value2',则new_column的值为'b',否则new_column的值为'c'。通过使用AS关键字,将CASE WHEN语句的结果命名为new_column并将其添加到SELECT语句中。
这样,执行以上的SQL查询语句后,会返回一个结果集,其中包括field1、field2、field3和new_column四个列。new_column列的值根据field1的值进行了判断和赋值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [CASE WHEN 条件赋值](https://blog.csdn.net/oysqtlmy/article/details/123871640)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
mysql动态创建临时表列
在MySQL中,可以使用CREATE TEMPORARY TABLE语句动态创建临时表列。下面是两个示例:
1. 使用已有表的结构创建临时表列:
```mysql
CREATE TEMPORARY TABLE new_table SELECT * FROM old_table;
```
这将创建一个临时表new_table,其列与old_table相同。
2. 使用自定义列创建临时表列:
```mysql
CREATE TEMPORARY TABLE temp_tb (column1 INT, column2 VARCHAR(255));
```
这将创建一个临时表temp_tb,其中包含两个列column1和column2,分别为整型和字符串类型。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cnf](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)