Мне нужно объединить два списка, которые имеют 1 аналогичный столбец и второй уникальный столбец - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь сформулировать это как можно более четко.

Вот мой сценарий: у меня есть два набора данных.

Набор данных1:

Individual_id        
Code 1

Dataset2:

Individual_id
Code 2

Значения в individual_ID уникальны для каждого набора данных, что означает, что ни один из списков не имеет дублирующегося индивидуального_идентификатора, поэтому типичное объединение невозможно (я так не думаю)

Мне нужен мой последний набор данных:

Individual_ID   Code1     Code 2

Любая помощь?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

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

selec t1.individual_id, Code1, Code2
from t1
cross join t2

, но учтите, что перекрестное объединение умножает результаты на m x n, где m - количество записей, возвращаемых из * 1005.* и n - это число записей, возвращаемых из t2

или

, если вы собираетесь объединить два набора данных в один,

select Individual_id, Max(Code1) Code1, Max(Code2) Code2 From
(
    SELECT Individual_id, Code1, NULL Code2 FROM dataset1
    UNION ALL
    SELECT Individual_id, NULL, Code2 FROM dataset2
) t
Group by Individual_id
0 голосов
/ 13 февраля 2019

Использование UNION ALL:

SELECT Individual_id, Code1, NULL Code2 FROM dataset1
UNION ALL
SELECT Individual_id, NULL, Code2 FROM dataset2

UNION ALL объединяет наборы записей, возвращаемые обоими запросами.Оба набора результатов должны возвращать одни и те же столбцы, поэтому вам нужно указать недоступный столбец в каждом наборе результатов с NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...