在一个表或者不同的表中,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实际问题——列的替换和汇率打折问题相关推荐

  1. sql语句用变量替换表名_使用内存优化表替换SQL临时表和表变量

    sql语句用变量替换表名 TempDB usage can be considered as a performance bottleneck for workloads that use SQL t ...

  2. data.frame类型数据如何将第一列值替换为行号

    data.frame类型数据如何将第一列值替换为行号 row.names(data) <- data[, 1] data <- data[, -1]

  3. sql 字段内容局部替换, sql删除或替换字段内内容

    因为业务更换了域名,之前上传的 图片路径 webpath需要统一更换 所以我这里使用sql的方法进行替换 update 数据表 set 字段名=replace(字段名,'https://123.bai ...

  4. Python基础——csv文件中某列数据替换为数字

    csv文件中某列数据替换为数字 来源--机器学习读取数据 方法一:正则表达式,replace() import pandas as pd data = pd.read_csv("data2. ...

  5. 根据Excel数据拼接sql,多列

    据Excel数据拼接sql,多列 第一步 过程 第一步 选择第一行数据的一个空白列. 在fx里面编写 写一个sql ="update 表名 set 列名= '"&C441& ...

  6. sql添加列_SQL添加列操作

    sql添加列 This article explains the SQL add column operation into an existing SQL table. We will also e ...

  7. sql 添加列、删除列、修改列属性以及大小

    sql 添加列.删除列.修改列属性以及大小 --删除列 ALTER TABLE 表名 drop column 列名; --添加列 ALTER TABLE 表名 add 列名 VARCHAR(40); ...

  8. sql delete删除列_现有表操作中SQL DELETE列概述

    sql delete删除列 In this article, we will explore the process of SQL Delete column from an existing tab ...

  9. sql 更改列数据类型_SQL查询更改列数据类型

    sql 更改列数据类型 Datatype of the column in SQL can be changed using the ALTER TABLE command. It can also ...

最新文章

  1. 杂志类(CMS)主题使用攻略
  2. 9月20华为鸿蒙,荣耀先行!华为智慧屏9月发布:搭鸿蒙系统和自研芯片
  3. windows mysql 主从_mysql读写分离实战二-windows 上mysql主从数据库搭建及问题总结
  4. 前端请求接口post_接口自动化测试-WEB资讯专栏-DMOZ中文网站分类目录
  5. Sql Server之旅——第二站 理解万恶的表扫描
  6. SharePoint Portal Server-管理匿名访问设置
  7. er图转关系模式规则_ER图转换关系模式
  8. 『已解决』IIS启动 服务无法在此时接受控制信息
  9. 华为交换机端口vlan详解
  10. python招聘杭州拉勾网_Python3获取拉勾网招聘信息
  11. Android默认时区大全
  12. 2020.8.13 京东Android开发二面
  13. ABAP CDS VIEW WITH ASSOCIATION示例
  14. iptables 之-m -state
  15. Linux集中日志服务器rsyslog
  16. Node.js 单页应用
  17. android adb shell am 可以用来启动activity ,而且可以通过-e 传入参数, 牛牛牛
  18. 【已更新】北航计算机学院考研知识点总结(专业课961)
  19. JavaScript 伪数组和数组
  20. 鸿蒙TouchEvent已实现单击、连续、长按功能,安卓也可以模仿着原理实现(网上绝大多未实现不动长按),这个支持不动长按事件

热门文章

  1. Open source licenses
  2. vs2019编译错误:LINK : fatal error LNK1104: 无法打开文件“atls.lib”
  3. 图片降噪 java_Python图片验证码降噪 — 8邻域降噪
  4. 通过opencv标记图片以及写入Excel小方法
  5. python实现数字反转_python 数字怎么反转
  6. 将python代码转换为flowchart代码
  7. python写spark的效率问题_“大数据架构”Spark 3.0发布,重大变化,性能提升18倍...
  8. 逻辑回归模型算法研究与案例分析
  9. 用jQuery实现9宫格抽奖
  10. 华为服务器2288h v3修复RAID,华为RH2288H V3服务器配置RAID(阵列卡LSI SAS3108)