SQL实际问题——列的替换和汇率打折问题
在一个表或者不同的表中,A列的某些值,用其对应的B列中的值替代
举个栗子
product_id | product_name | product_type | sale_price | purchase_price | regist_date |
---|---|---|---|---|---|
0001 | T恤 | 衣服 | 1000 | 500 | 2009-09-20 |
0002 | 打孔器 | 办公用品 | 500 | 320 | 2009-09-11 |
0003 | 运动T恤 | 衣服 | 4000 | 2800 | (NULL) |
0004 | 菜刀 | 厨房用具 | 3000 | 2800 | 2009-09-20 |
0005 | 高压锅 | 厨房用具 | 6800 | 5000 | 2009-01-15 |
0006 | 叉子 | 厨房用具 | 500 | (NULL) | 2009-09-20 |
0007 | 擦菜板 | 厨房用具 | 880 | 790 | 2008-04-28 |
0008 | 圆珠笔 | 办公用品 | 100 | (NULL) | 2009-11-11 |
product_id列中的0002我想替换成sale_price列中所对应的500,别的不变
虽然并木有什么实际意义
SELECT CASEWHEN product_id IN (SELECT product_id FROM product WHERE product_id = '0002') THEN sale_priceWHEN product_id NOT IN (SELECT product_id FROM product WHERE product_id = '0002')THEN product_idEND AS a
FROM product
结果如下
a
0001
500
0003
0004
0005
0006
0007
0008
再举个栗子
厨房用具打8折,其他的打五折
SELECT product_id, product_name,product_type,CASEWHEN product_type='厨房用具'THEN sale_price*0.9WHEN product_type!='厨房用具'THEN sale_price *0.5END AS price
FROM product
结果如下
product_id | product_name | product_type | price |
---|---|---|---|
0001 | T恤 | 衣服 | 500.0 |
0002 | 打孔器 | 办公用品 | 250.0 |
0003 | 运动T恤 | 衣服 | 2000.0 |
0004 | 菜刀 | 厨房用具 | 2700.0 |
0005 | 高压锅 | 厨房用具 | 6120.0 |
0006 | 叉子 | 厨房用具 | 450.0 |
0007 | 擦菜板 | 厨房用具 | 792.0 |
0008 | 圆珠笔 | 办公用品 | 50.0 |
SQL实际问题——列的替换和汇率打折问题相关推荐
- sql语句用变量替换表名_使用内存优化表替换SQL临时表和表变量
sql语句用变量替换表名 TempDB usage can be considered as a performance bottleneck for workloads that use SQL t ...
- data.frame类型数据如何将第一列值替换为行号
data.frame类型数据如何将第一列值替换为行号 row.names(data) <- data[, 1] data <- data[, -1]
- sql 字段内容局部替换, sql删除或替换字段内内容
因为业务更换了域名,之前上传的 图片路径 webpath需要统一更换 所以我这里使用sql的方法进行替换 update 数据表 set 字段名=replace(字段名,'https://123.bai ...
- Python基础——csv文件中某列数据替换为数字
csv文件中某列数据替换为数字 来源--机器学习读取数据 方法一:正则表达式,replace() import pandas as pd data = pd.read_csv("data2. ...
- 根据Excel数据拼接sql,多列
据Excel数据拼接sql,多列 第一步 过程 第一步 选择第一行数据的一个空白列. 在fx里面编写 写一个sql ="update 表名 set 列名= '"&C441& ...
- sql添加列_SQL添加列操作
sql添加列 This article explains the SQL add column operation into an existing SQL table. We will also e ...
- sql 添加列、删除列、修改列属性以及大小
sql 添加列.删除列.修改列属性以及大小 --删除列 ALTER TABLE 表名 drop column 列名; --添加列 ALTER TABLE 表名 add 列名 VARCHAR(40); ...
- sql delete删除列_现有表操作中SQL DELETE列概述
sql delete删除列 In this article, we will explore the process of SQL Delete column from an existing tab ...
- sql 更改列数据类型_SQL查询更改列数据类型
sql 更改列数据类型 Datatype of the column in SQL can be changed using the ALTER TABLE command. It can also ...
最新文章
- 杂志类(CMS)主题使用攻略
- 9月20华为鸿蒙,荣耀先行!华为智慧屏9月发布:搭鸿蒙系统和自研芯片
- windows mysql 主从_mysql读写分离实战二-windows 上mysql主从数据库搭建及问题总结
- 前端请求接口post_接口自动化测试-WEB资讯专栏-DMOZ中文网站分类目录
- Sql Server之旅——第二站 理解万恶的表扫描
- SharePoint Portal Server-管理匿名访问设置
- er图转关系模式规则_ER图转换关系模式
- 『已解决』IIS启动 服务无法在此时接受控制信息
- 华为交换机端口vlan详解
- python招聘杭州拉勾网_Python3获取拉勾网招聘信息
- Android默认时区大全
- 2020.8.13 京东Android开发二面
- ABAP CDS VIEW WITH ASSOCIATION示例
- iptables 之-m -state
- Linux集中日志服务器rsyslog
- Node.js 单页应用
- android adb shell am 可以用来启动activity ,而且可以通过-e 传入参数, 牛牛牛
- 【已更新】北航计算机学院考研知识点总结(专业课961)
- JavaScript 伪数组和数组
- 鸿蒙TouchEvent已实现单击、连续、长按功能,安卓也可以模仿着原理实现(网上绝大多未实现不动长按),这个支持不动长按事件
热门文章
- Open source licenses
- vs2019编译错误:LINK : fatal error LNK1104: 无法打开文件“atls.lib”
- 图片降噪 java_Python图片验证码降噪 — 8邻域降噪
- 通过opencv标记图片以及写入Excel小方法
- python实现数字反转_python 数字怎么反转
- 将python代码转换为flowchart代码
- python写spark的效率问题_“大数据架构”Spark 3.0发布,重大变化,性能提升18倍...
- 逻辑回归模型算法研究与案例分析
- 用jQuery实现9宫格抽奖
- 华为服务器2288h v3修复RAID,华为RH2288H V3服务器配置RAID(阵列卡LSI SAS3108)