提问人:sam it 提问时间:8/29/2018 更新时间:8/29/2018 访问量:53
使用其他表的 Tsql 更新表
Tsql Update Table with other table
问:
我有两个表 sql
我想使用表中的数据更新表 A
我的 ISSU 是
if (element exist update else update)
表 A
- 俱乐部 ID |成员
- 1 |100
- 2 |150
表B
俱乐部 ID |成员
1 |200
- 9 |150
- 6 |50
我希望表a会像这样更新:
- clubid 1 = > 更新
- clubid 9 和 clubid 6 = > 将入
最后
表 A 将是这样的
- 俱乐部 ID |成员
- 1 |200
- 2 |150
- 9 |150
- 6 |50
我不知道该怎么做,你能帮帮我吗
答:
1赞
SQL_M
8/29/2018
#1
两个单独的语句就可以了:
UPDATE TableA SET TableA.Member = TableB.Member
FROM TableB
WHERE TableA.ClubID = TableB.ClubID
INSERT INTO TableA
SELECT * FROM TableB WHERE ClubID NOT IN ( SELECT ClubID FROM TableA )
评论
0赞
SQL_M
8/31/2018
@samit很高兴它有所帮助。如果你喜欢它,请接受它,aswer。
0赞
maulik kansara
8/29/2018
#2
您可以使用 .Merge
merge tableA trg
using tableB src on trg.clubid=src.clubid
when matched then
update set trg.member=src.member
when not matched by trg then
insert(clubid,member)
values (src.clubid,src.member);
评论
1赞
SQL_M
8/29/2018
合并有一些潜在的危险:mssqltips.com/sqlservertip/3074/......
评论