用mysql写一个语句将原表的数据转换成目标表
时间: 2024-05-12 17:15:50 浏览: 12
假设原表名为`table1`,目标表名为`table2`,原表中有`id`、`name`、`age`三个字段,目标表中有`id`、`full_name`、`age`三个字段,其中`full_name`字段的值为`name`字段的值加上字符串"先生"或"女士"。
可以使用以下的 SQL 语句将原表的数据转换成目标表:
```
INSERT INTO table2 (id, full_name, age)
SELECT id, CONCAT(name, CASE WHEN gender = 'M' THEN '先生' ELSE '女士' END), age
FROM table1;
```
其中,使用`SELECT`语句从原表中选取需要的字段,并使用`CONCAT`函数将`name`字段的值与`CASE WHEN`语句生成的字符串拼接起来作为`full_name`字段的值,最后再将选取的字段插入到目标表中。
相关问题
帮我写一个sql语句(mysql数据库) ,将原表的数据转换为目标表的数 原表数结构 name 彭 sex 女 目标表结构 name 哈哈 sex 1
假设原表名为`source_table`,目标表名为`target_table`,可以使用如下的SQL语句:
```
INSERT INTO target_table (name, sex)
SELECT '哈哈', IF(sex='女',1,0) FROM source_table WHERE name='彭';
```
解释一下上面的SQL语句:
- `INSERT INTO target_table (name, sex)`:将数据插入到目标表`target_table`中,并指定需要插入的字段是`name`和`sex`;
- `SELECT '哈哈', IF(sex='女',1,0) FROM source_table WHERE name='彭'`:从原表`source_table`中选择满足条件`name='彭'`的数据,并将`name`字段的值设为`'哈哈'`,将`sex`字段的值根据`sex='女'`的结果转换为0/1(女为1,其他为0)。然后将这些数据插入到目标表`target_table`中。
帮我写一个sql语句(mysql数据库) ,将原表的数据转换为目标表的数 原表表名为原表 目标表名为目标表 原表数结构 name 彭 张 李 sex 女 男 男 目标表结构 name 王 黄 sex 1 2
假设原表和目标表都已经创建,原表中的数据需要按照如下规则转换:
- 将“彭”改为“王”,将“张”改为“黄”;
- 将“女”改为“1”,将“男”改为“2”。
则可以使用如下 SQL 语句进行转换:
```sql
INSERT INTO 目标表 (name, sex)
SELECT
CASE
WHEN name = '彭' THEN '王'
WHEN name = '张' THEN '黄'
END AS name,
CASE
WHEN sex = '女' THEN 1
WHEN sex = '男' THEN 2
END AS sex
FROM 原表;
```
注意:在执行此语句之前,需要保证目标表中没有重复的数据,否则会出现插入重复数据的错误。如果目标表中已经有部分数据,而且这些数据与原表中的数据存在重复,可以使用 `INSERT IGNORE INTO` 语句来忽略重复数据的插入。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)