SQL语句怎么给一个表里的价格更新两次

还在学习的小白 2021-05-07 04:41:56
所有单价大于等于3000的产品打折8.8,单价小于3000的产品打9折。更新相关信息。
update
set 语句怎么实现,
...全文
149 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
锟斤拷锟斤拷 2021-05-07
  • 打赏
  • 举报
回复
不是 要有两个update
  • 打赏
  • 举报
回复
update product set price=price*0.88 where price>=3000 set price=price*0.9 where price<3000 go 这样吗 具体写法还不太会
锟斤拷锟斤拷 2021-05-07
  • 打赏
  • 举报
回复
这里用case when就不用where了,用where好像比较麻烦,要按顺序写两条 UPDATE 表 SET 单价= 单价*0.9 WHERE 单价 < 3000 UPDATE 表 SET 单价= 单价*0.88 WHERE 单价 >= 3000
锟斤拷锟斤拷 2021-05-07
  • 打赏
  • 举报
回复
引用 2 楼 weixin_53839792 的回复:
引用 1 楼 锟斤拷锟斤拷 的回复:
UPDATE 表 SET 单价= (CASE WHEN 单价<3000 THEN 单价*0.9 ELSE 单价*0.88 END)
请问where语句不是也是必要的吗 把判断价格放在where语句后面行不行
UPDATE 表 SET 单价= 单价*0.9 WHERE 单价<3000 UPDATE 表 SET 单价= 单价*0.88 WHERE 单价>=3000 用where了
  • 打赏
  • 举报
回复 1
引用 1 楼 锟斤拷锟斤拷 的回复:
UPDATE 表 SET 单价= (CASE WHEN 单价<3000 THEN 单价*0.9 ELSE 单价*0.88 END)
请问where语句不是也是必要的吗 把判断价格放在where语句后面行不行
锟斤拷锟斤拷 2021-05-07
  • 打赏
  • 举报
回复 1
UPDATE 表 SET 单价= (CASE WHEN 单价<3000 THEN 单价*0.9 ELSE 单价*0.88 END)

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧