объединить две таблицы sql



Автор User задал вопрос в разделе Другие языки и технологии

Как объединить две таблицы в SQL 2008? и получил лучший ответ

Ответ от Kelavric kelavric[гуру]
Запрос, который вытаскивает из двух таблиц имена со свежайшими адресами, имеет вид:
SELECT
COALESCE(T1.[Имя] , T2.[Имя] ) as [Имя] ,
COALESCE(T1.[Фамилия] , T2.[Фамилия] ) as [Фамилия] ,
COALESCE(T2.[Адрес проживания] , T1.[Адрес проживания] ) as [Адрес проживания]
FROM
[Таблица_1] T1
FULL JOIN [Таблица_2] T2 on T1.[Имя] = T2.[Имя] and T1.[Фамилия] = T2.[Фамилия]
Что делать с результатами этого запроса, решать Вам. Например, можно запихнуть их в таблицу Таблица_3:
INSERT INTO [Таблица_3] SELECT ...
Можно организовать представление:
CREATE VIEW [Таблица_3] AS SELECT ...
А можно и просто отдать результаты этого запроса клиенту.
Если же хочется обновить первую таблицу адресами из второй, можно поступить так:
UPDATE [Таблица_1]
SET [Адрес проживания] = T2.[Адрес проживания]
FROM [Таблица_1] T1
JOIN [Таблица_2] T2 on T1.[Имя] = T2.[Имя] and T1.[Фамилия] = T2.[Фамилия]
INSERT INTO [Таблица_1]
SELECT
T2.*
FROM
[Таблица_2] T2
LEFT JOIN [Таблица_1] T1 on T1.[Имя] = T2.[Имя] and T1.[Фамилия] = T2.[Фамилия]
WHERE T1.[Фамилия] is null
В случае, когда обновление требуется для второй таблицы, можно обойтись одной командой:
INSERT INTO [Таблица_2]
SELECT
T1.*
FROM
[Таблица_1] T1
LEFT JOIN [Таблица_2] T2 on T1.[Имя] = T2.[Имя] and T1.[Фамилия] = T2.[Фамилия]
WHERE T2.[Фамилия] is null

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как объединить две таблицы в SQL 2008?
спросили в Нужен
Зачем нужен join(sql) и как он работает? Если можно, объясните на пальцах
join нужен для соединения таблиц. Есть, конечно, вариант писать select ...from table1, table2,
подробнее...

Не могу зайти на сайт cfire.mail.ru При заходе на сайт выдаёт ошибку 503 Service Temporarily
Отчего возникает ошибка 503 (Service Temporarily Unavailable)?
Каждому аккаунту на сервере
подробнее...
спросили в Интернет
Ошибка 503 Service Temporarily Unavailable
Отчего возникает ошибка 503 (Service Temporarily Unavailable)?
Каждому аккаунту на сервере
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*