#sql #sql-server #join #full-outer-join
#sql #sql-сервер #Присоединиться #полное внешнее соединение
Вопрос:
У меня есть две таблицы данных, которые мне нужно объединить в одну таблицу. UNION ALL
не работает, потому что мне нужно иметь одну строку ( SN
) со всей связанной информацией, а не дублировать SN
ее. Примеры двух таблиц и ожидаемый результат приведены ниже. Любая помощь была бы оценена.
Table 1
SN Reading
1. 12
2. 14
3. 12
4. 15
5. 11
Table 2
SN Reading
1. 75
2. 74
4. 74
5. 74
6. 75
Объединенная таблица (1 и 2)
SN R1 R2
1. 12 75
2. 14 74
3. 12
4. 15 74
5. 11 74
6. 75
Комментарии:
1. Посмотрите на
FULL OUTER JOIN
Ответ №1:
Вы можете использовать FULL JOIN
для объединения таблиц желаемым способом и COALESCE
для получения первого ненулевого значения SN
из обеих таблиц :
SELECT COALESCE(t1.SN, t2.SN)
, t1.R1
, t2.R2
FROM table1 t1 FULL JOIN table2 t2 ON t1.SN = t2.SN