怎么从一张表中查出数据更新到另一张表中?

Armi 2014-05-26 11:44:00
RT,
update hdzx_question set c_qusType=1 where c_deptId =52;
select * from [dbo].[BECBoardMessage] where Prop1='zx';

现在需要从[dbo].[BECBoardMessage]表中查询出Prop1='zx';的所有数据,以此来更新hdzx_question表中的c_qusType,使
c_qusType=1

还请大神指点一二
...全文
1554 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang_remote 2016-12-15
  • 打赏
  • 举报
回复
用游标试一试
卖水果的net 版主 2014-05-27
  • 打赏
  • 举报
回复

-- 大概就是这样的语法
update A set A.col1= B.col1, A.col2 = B.col2 , .....
from mytable A , youtable B 
where A.ID = B.ID and ........

Armi 2014-05-26
  • 打赏
  • 举报
回复
引用 1 楼 OrchidCat 的回复:
UPDATE  hdzx_question
SET     c_qusType = 1
WHERE   c_deptId = 52
        AND EXISTS ( SELECT 1
                     FROM   [dbo].[BECBoardMessage]
                     WHERE  Prop1 = 'zx'
                            AND hdzx_question.id = BECBoardMessage.id )  --这个链接关系lz自己用相关字段连一下
这个不行,全都更新了 没有更新符合条件的,也就是说从select * from [dbo].[BECBoardMessage] where Prop1='zx';查询出多少条,就更新多少条,但是这个把全部的都更新了
xdashewan 2014-05-26
  • 打赏
  • 举报
回复

update hdzx_question a set a.c_qusType=1
from  [dbo].[BECBoardMessage] b
 where a.c_deptId =b.c_deptId and b.Prop1='zx'
关联字段我自己帮你加的,对不对得看你真实业务
Mr_Nice 2014-05-26
  • 打赏
  • 举报
回复
UPDATE  hdzx_question
SET     c_qusType = 1
WHERE   c_deptId = 52
        AND EXISTS ( SELECT 1
                     FROM   [dbo].[BECBoardMessage]
                     WHERE  Prop1 = 'zx'
                            AND hdzx_question.id = BECBoardMessage.id )  --这个链接关系lz自己用相关字段连一下
  • 打赏
  • 举报
回复
关键是比要把两个表的连接条件要说一下啊

34,590

社区成员

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

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