Значения SQL Update, основанные на результатах VLOOKUP - PullRequest
0 голосов
/ 01 ноября 2018

Я использую DataGrip и имею базу данных Oracle SQL с 2 таблицами.

Я пытаюсь обновить значения column01 в Table01 (в настоящее время все значения NULL ) с помощью vlookup / external join из другой таблицы. И Table01, и Table02 имеют один общий столбец. Идея должна быть что-то вроде:

UPDATE Table01 SET RescorceName = (
  SELECT AntennaSection 
  FROM Table02 
  WHERE Table01.CellName = Table02.Cellname
)

Я добавил ниже пример того, как должен выглядеть результат:

введите описание изображения здесь

Любой совет будет высоко оценен!

1 Ответ

0 голосов
/ 01 ноября 2018

вам нужно убедиться, что вы обновляете только некоторые записи

UPDATE Table01 
SET RescorceName = (
  SELECT AntennaSection 
  FROM Table02 
  WHERE Table01.CellName = Table02.Cellname
    -- note, this is a horrible way to solve the problem -- we should instead
    -- know why we are getting more than one row and change the query.
    AND ROWNUM = 1
)
WHERE Table01.CellName IN (
 SELECT Table02.Cellname
 FROM Table02
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...