两个表的操作

deknight 2010-04-28 05:05:18
现在有表A 字段如下
CompanyName Title UID
A里,UID是有值的,且唯一

表B
CompanyName Title UID

现在要把表B里的CompanyName Title的内容放进表A里去,条件是UID相等
而且,表B里UID有重复的情况
...全文
90 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shixixi1987 2010-04-28
  • 打赏
  • 举报
回复
现在有表A 字段如下
CompanyName Title UID
A里,UID是有值的,且唯一

表B
CompanyName Title UID

现在要把表B里的CompanyName Title的内容放进表A里去,条件是UID相等
而且,表B里UID有重复的情况
create table tableA
(
[UID] int identity(1,1) primary key,
CompanyName varchar(50),
Title varchar(50)
)
create table tableB
(
CompanyName varchar(50),
Title varchar(50),
UID int
)
insert into tableA(CompanyName,Title)
(
select 'aa','aa' union
select 'bb','bb' union
select 'cc','cc' union
select 'dd','dd' union
select 'ee','ee'
)
insert into tableB(CompanyName,Title,[UID])
(
select 'hh','hh',1 union
select 'ii','ii',1 union
select 'jj','jj',3 union
select 'kk','kk',4 union
select 'll','ll',5
)
select * from tableA
go
select * from tableB
go
declare @CompanyName varchar(50)
declare cur cursor for
select B.CompanyName from tableA A,tableB B where A.UID=B.UID and B.UID in(select [UID] from tableA)
open cur
Fetch next From Cur into @CompanyName
while @@fetch_status=0
Begin

declare @Title varchar(50)
select @Title=B.Title from tableA A,tableB B where A.UID=B.UID and B.CompanyName=@CompanyName and B.UID in(select [UID] from tableA)
insert into tableA(CompanyName,Title)
values(@CompanyName,@Title)

Fetch Next From Cur Into @CompanyName
end
close cur
Deallocate Cur
go

deknight 2010-04-28
  • 打赏
  • 举报
回复
晕...
难道我这么差劲...
rfq 2010-04-28
  • 打赏
  • 举报
回复
update 表b
set title=a.title,companyname=.companyname
from 表b a inner join 表a a on
a.uid=b.uid
SQL77 2010-04-28
  • 打赏
  • 举报
回复
UPDATE A SET COMPANYNAME=B.COMPANYNAME,TITLE=B.TITLE FROM B WHERE A.UID=B.UID

34,837

社区成员

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

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