Заполнение информации из той же и других таблиц в SQL - PullRequest
0 голосов
/ 15 марта 2019

Для дальнейшей работы мне нужно создать справочную таблицу, в которой отмечены все разные идентификаторы, которые имеют мои данные (из-за разных источников).Это должно выглядеть следующим образом:

Lookup_Table:

| Name | ID_source1 | ID_source2 | ID_source3 |
-----------------------------------------------
| John | EMP_992    | AKK81239K  | inv1000003 |

Обратите внимание, что Name и ID_Source1 происходят из одной таблицы.Другие идентификаторы взяты из разных таблиц.Они имеют одинаковое значение имени, поэтому, например, источник 2 выглядит следующим образом:

Таблица источника 2:

| Name | ID        |
--------------------
| John | AKK81239K |

Что такое код SQL для этого?Я использую Access, и он, кажется, не работает с этим кодом для источника 2:

INSERT INTO Lookup_Table ([ID_Source2])
SELECT [Source2].[ID]
FROM Lookup_Table LEFT JOIN [Source2] 
ON [Lookup_Table].[Name] = [Source2].[Name]

Он просто добавляет идентификатор из Source2 в новую строку:

| Name | ID_source1 | ID_source2 | ID_source3 |
-----------------------------------------------
| John | EMP_992    |            |            |
|      |            | AKK81239K  |            |

Надеюсь, вы, ребята, можетепомоги мне.

1 Ответ

1 голос
/ 15 марта 2019

Вы ищете запрос UPDATE, а не запрос INSERT.

Запрос UPDATE обновляет существующие записи.Запрос INSERT вставляет новые записи в таблицу.

UPDATE Lookup_Table 
INNER JOIN [Source2] ON [Lookup_Table].[Name] = [Source2].[Name]
SET [ID_Source2] = [Source2].[ID]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...