问下关于update里的set……from 的问题

Breezexiang 2010-02-08 05:32:10
有表myTable
id fid bid name
1 1 1 张三
2 1 1 李四
3 3 3 王五


现在要更新上面的表
更新 “name=王五”的记录 将其fid=1,同时更新该记录的bid。bid的值需要查这张表中fid=1时bid的值
简单来说就是update后面set关键 from XXX

update myTable set fid=1,bid=myTable.bid from myTable where name='王五'

我这样写是错的,很费解,求高手
...全文
355 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Breezexiang 2010-02-08
  • 打赏
  • 举报
回复
引用 2 楼 josy 的回复:
fid=1时bid的值

--这个值如果有多个如何处理?


肯定就一个
百年树人 2010-02-08
  • 打赏
  • 举报
回复
如果fid=1时bid的值只有一个
update a 
set a.fid=1,a.bid=b.bid
from myTable a,
(select bid from myTable where fid=1) b
where a.name='王五'
百年树人 2010-02-08
  • 打赏
  • 举报
回复
fid=1时bid的值

--这个值如果有多个如何处理?
andysun88 2010-02-08
  • 打赏
  • 举报
回复

update myTable set fid=1,bid=(select top 1 bid from myTable where fid=1) from myTable where name='王五'

34,576

社区成员

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

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