Tsql Обновление таблицы с другой таблицей - PullRequest
0 голосов
/ 29 августа 2018

у меня два стола sql

Я хочу обновить таблицу A данными из таблицы

моя проблема в том, что

if (элемент существует update, иначе update)

таблица

  • clubid | член
  • 1 | 100
  • 2 | 150

стол b

  • clubid | член

  • 1 | 200

  • 9 | 150
  • 6 | 50

Я хочу, чтобы таблица a обновлялась как:

  • clubid 1 => обновлено
  • clubid 9 и Clubid 6 => будут вставлены

в конце

таблица будет такой

  • clubid | memeber
  • 1 | 200
  • 2 | 150
  • 9 | 150
  • 6 | 50

Я не могу понять, как это сделать, пожалуйста, помогите мне

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

вы можете использовать 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);
0 голосов
/ 29 августа 2018

Два отдельных утверждения сделали бы это:

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 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...