Как обновить третью таблицу с результатом выбора внутреннего объединения двух других таблиц - PullRequest
0 голосов
/ 16 мая 2019

У меня есть база данных доступа с тремя таблицами с именами DD, Export и RPL

У меня есть результат внутреннего соединения между EXPORT AND DD, который работает нормально

Теперь с этимиРезультаты Я хочу обновить третью таблицу RPL, которая в настоящее время пуста, но содержит те поля, которые необходимо заполнить, например, RPL. [Идентификатор отеля] должен быть идентификатором отеля, который следует из запроса ниже

SELECT Export.[Hotel ID], Export.[Property Name], Export.[Room Type ID] AS
[Parent Room Type ID], Export.[Room Type Code] AS [Parent Room Type Code],
Export.[Rate Plan ID] AS [Parent Rate Plan ID], Export.[Expedia Collect Rate 
Plan Code] AS [Parent Rate Plan Code EC], Export.[Hotel Collect Rate Plan 
Code] AS [Parent Rate Plan Code HC], Export.[Rate Plan Name] AS [Parent Rate
Plan Name]
INTO RPL
FROM Export INNER JOIN DD ON Export.ExKey = DD.DDKey;

Предыдущийзапрос копирует результат в новую таблицу, я хочу использовать уже существующую. Любая помощь приветствуется

Спасибо

1 Ответ

1 голос
/ 16 мая 2019

Поскольку ваш пример не понятен, я напишу более простой, чтобы уточнить, как обновить таблицу, используя данные, объединенные другими таблицами, теперь есть три таблицы ATable,BTable,CTable, столбцы ATable равны id,value1,value2столбцы BTable равны id,value1, столбцы CTable равны id,value2, теперь мы будем обновлять ATable, используя данные, объединенные B и C, SQL выглядит следующим образом:

update ATable a set value1 = t.value1, value2 = t.value2 
from (
  select
      b.id,
      b.value1,
      c.value2
  from
      BTable b
  join
      CTable c on b.id = c.id
) t where a.id = t.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...