同步表,简单问题求教!

showmetoyou 2005-03-28 04:57:00
表A,B
A:
username
13032277118
13032277116
13032277888
B:
resource username status
XLT 13056897446 0
XLT 13056897446 0
XLT 56879123 0
XLT 56879123 0
BJXH 13032277118 0
BJXH 13032277116 0
BJXH 13033333333 0
A,B表的数据来自不同地方,username可能相同,
现在想使B表中的数据(resource=‘BJXH’)和A中的数据保持同步!就是同步B表!
条件:
如果A中有的username,B中没有!则插入B,
如果B(resource=‘BJXH’)中有的username,而A中没有则更新B中相应的数据状态(status=‘1’)我想关键是表联结问题,本人对这方面了解不深,恳请赐教!
请高手帮忙!很快结贴!在线等!
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
showmetoyou 2005-03-28
  • 打赏
  • 举报
回复
谢谢!我本来就是打算做个job的!
我就是联表判断时不对!
怎么判断A的数据是否有在B(resource=‘BJXH’)不存在?
我用如下写法:
declare @datacount as nvarchar(20)

set @datacount =select count(*) as account from A
left join B
on A.username<>B.username where B.source='BJXH'

if @datacount<>'0'
begin
--insert
end
但我测试判断条件不对!请赐教!
子陌红尘 2005-03-28
  • 打赏
  • 举报
回复
一条SQL语句无法搞定

--插入操作
insert into B select 'BJXH',A.username,0 from A where not exists(select 1 from B where username = A.username)
--更新操作
update B set status = 1 from B where not exists(select 1 from A where username = B.username)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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