SQL语句更新表中的某个字段,写法?

hwqnew 2010-04-07 04:56:58
我有两个表,表A,表B

表A,id,titleA,contentA,time,name

表B,id,titleB,contentB

表A和表B一点关系也没有,没有任何关联。

现我想把表B中的titleB值全部复制到表A中的titleA值(表B中的条数远比表A多)

请问题大家如何写这个语句,,(表中无任何关联),就相当于复制数据。因为表A中有好多其它字段不能动。
...全文
786 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Me_online 2010-04-07
  • 打赏
  • 举报
回复
没有关联也要创造关联:
类似这样吧:

Update B SET B.title = C.title

FROM (SELECT A.title, Rownumber() over (....) AS Rownumber FROM A) C WHERE C.Rownumber = B.Rownumber() Over (....)

这样就会通过 Rownumber()函数建成了关联。
hwqnew 2010-04-07
  • 打赏
  • 举报
回复
无法用插入语句,因为被更新的表A中,有许多字段,都与其它东东有关联的,只能更新某个字段
htl258_Tony 2010-04-07
  • 打赏
  • 举报
回复
id,titleA,contentA,time,name

表B,id,titleB,contentB

insert a
select *,time=getdate(),name='b''s name'
from (
select * from B
except
select id,titleA,contentA from A
) as t
hwqnew 2010-04-07
  • 打赏
  • 举报
回复
就是像复制数据一样,把一个表中的一个字段数据复制到另一个表中的字段数据。(没有对应关联)
SQL77 2010-04-07
  • 打赏
  • 举报
回复
现我想把表B中的titleB值全部复制到表A中的titleA值(表B中的条数远比表A多


A表中有索引吗,远远大于的话,把A表索引都删除或禁用掉,

再把

INSERT A(TITLEa) SELECT TITLEB FROM B
dawugui 2010-04-07
  • 打赏
  • 举报
回复
最好给出完整的表结构,测试数据,计算方法和正确结果.


发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
guguda2008 2010-04-07
  • 打赏
  • 举报
回复
没有关联就建立关联,两表都建立一个递增的序号列,根据这个列对应更新A表的TITLEA,然后把A中没有的插入进去
--小F-- 2010-04-07
  • 打赏
  • 举报
回复
表A和表B一点关系也没有,没有任何关联
dawugui 2010-04-07
  • 打赏
  • 举报
回复
还是上午那个?
表中无任何关联?
不提供具体的信息,无法帮你.

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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