Обновление таблицы в схеме 1 на основе значений нескольких столбцов таблицы в схеме 2 - PullRequest
0 голосов
/ 07 февраля 2020

Я постараюсь объяснить проблему наилучшим образом. Итак, у меня есть 2 таблицы в 2 разных схемах с несколькими столбцами в обеих, и мне принадлежит только одна из схем.

Что мне нужно сделать, так это обновить таблицу A в схеме 1 значением из одного из полей из Таблица B из схемы 2. Мне нужно обновить только несколько строк в этой таблице. Проблема заключается в том, что при заполнении таблицы A данные в таблице B не готовы к этим данным. Я пытаюсь сделать это программно, если это возможно.

Так как они находятся в разных схемах, а размер обновления сравнительно меньше размера таблицы А, какой должен быть лучший способ сделать это? ОБРАЗЕЦ ДАННЫХ **

Table A
orderNum | orderNumInternal | validity                | averageSales   |type
1000     |  5636            | 2020-06-30 00:00:00.000 |  NULL          |valid
Table B
orderNum | orderNumInternal | validity                | averageSales
1000     |  5636            | 2020-06-30 00:00:00.000 |  65

** Здесь мне нужно обновить Таблицу A значением totalSales из Таблицы B всякий раз, когда тип в Таблице A действителен и в таблице B есть совпадение для первых 3 столбцов

Таблица A создается за одну ночь, пока я не могу контролировать, когда данные будут доступны в таблице B

1 Ответ

0 голосов
/ 07 февраля 2020

Разве это не просто UPDATE с JOIN?

UPDATE A
SET averageSales = B.averageSales
FROM Schema1.TableA A
     JOIN Schema2.TableB B ON A.orderNum = B.orderNum
WHERE A.averageSales IS NULL; --Unsure if this WHERE is needed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...