Вставить поля из одной таблицы в другую в SQL Server 2005 - PullRequest
3 голосов
/ 06 мая 2011

У меня есть таблица, из которой мне нужно вставить некоторые данные в другую таблицу.

У меня есть таблицы «Провайдер» и «1_MAIN - Контакты» (я знаю действительно дурное имя, давайте просто назовем его «Главный» в этом обсуждении). Эти 2 таблицы связаны столбцом с именем «Contact_ID». Все записи в таблице Provider имеют запись в основной таблице с соответствующим «Contact_ID».

В таблице «Поставщики» есть 4 столбца: «geri», «adol», «adult» и «pedi». Эти поля имеют тип данных bit со значением по умолчанию 0.

Я создал 4 новых столбца в «Main» с такими же именами и хочу перенести значения из таблицы «Provider» в таблицу «Main».

Итак, в основном я хочу сделать следующее:

Если в записи «Main» есть запись в «Provider», тогда возьмите значения столбцов «geri», «adol», «adult» и «pedi» из записи «Provider» и скопируйте их «Основная» запись.

Ответы [ 2 ]

3 голосов
/ 06 мая 2011

Вам нужно UPDATE, а не INSERT:

UPDATE m
SET geri  = p.geri
  , adol  = p.adol
  , adult = p.adult
  , pedi  = p.pedi
FROM Main m
  JOIN Provider p
    ON p.Contact_ID = m.Contact_ID
2 голосов
/ 06 мая 2011

Вы ищете "INSERT INTO ... SELECT".Что-то вроде (вам нужно изменить это)

Insert Into Main(geri, adol, adult, pedi)
Select p.geri, p.adol, p.adult, p.pedi
 from Provider p
 where p.ProviderID = Main.ProviderID

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

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