sql 两个表之间 修改数据问题

低调的感觉 2009-04-02 06:30:38
我现在有两个表A、B
CREATE TABLE [dbo].[A] (
[Auto_ID] [int] IDENTITY (1, 1) NOT NULL ,
[BizNetPoint_Name] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[BizNetPoint_MostlyWare] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[B] (
[Auto_ID] [int] IDENTITY (1, 1) NOT NULL ,
[BizNetPoint_Name] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[BizNetPoint_MostlyWare] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
) ON [PRIMARY]
GO

insert into A (BizNetPoint_Name,BizNetPoint_MostlyWare)
select '武汉a','aaa' ;
select '武汉a','';
select '武汉b','bbb';
select '武汉c','bbb';
select '武汉d','bbb'

insert into B (BizNetPoint_Name,BizNetPoint_MostlyWare)
select '武汉a','aaa' ;
select '武汉a','aaaa';
select '武汉b','bbb';
select '武汉c','ccc';
select '武汉d','ddd'

(我的插入语句有问题,我就是想将这些数据都插入到表中)

表 A 的 BizNetPoint_MostlyWare 数据有的错了
表 B 的 BizNetPoint_MostlyWare 数据都是对的
我现在想将 A 中的 BizNetPoint_MostlyWare 根据 BizNetPoint_Name
换成 B 中的 BizNetPoint_MostlyWare
我的sql语句:

update A
set BizNetPoint_MostlyWare=
(select B.BizNetPoint_MostlyWare from B where
BizNetPoint_Name=A.BizNetPoint_Name
) where A.BizNetPoint_Name in (select BizNetPoint_Name from b)

但是失败了
哪位高手明白我的意思
帮我解决下
...全文
158 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
knifewei 2009-04-02
  • 打赏
  • 举报
回复
在你得sql语句的基础上该的,你的update 没有from
而且有的字段是A表还是B表不明确
knifewei 2009-04-02
  • 打赏
  • 举报
回复
update A
set A.BizNetPoint_MostlyWare=
(select B.BizNetPoint_MostlyWare from B where
B.BizNetPoint_Name=A.BizNetPoint_Name
)
from B where A.BizNetPoint_Name in (select BizNetPoint_Name from b)
sdhdy 2009-04-02
  • 打赏
  • 举报
回复
update A 
set BizNetPoint_MostlyWare=B.BizNetPoint_MostlyWare
from B
where A.BizNetPoint_Name =B.BizNetPoint_Name
Zoezs 2009-04-02
  • 打赏
  • 举报
回复

update A
set A.BizNetPoint_MostlyWare=B.BizNetPoint_MostlyWare
from A,B
where A.BizNetPoint_Name=B.BizNetPoint_Name

22,181

社区成员

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

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