Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Загрузка данных из одной таблицы в другую(если их там нет)  [new]
SvetVokne
Member

Откуда:
Сообщений: 5
Добрый день, подскажите как выйти их ситуации.

Есть временная таблица #t с атрибутами:
-Фамилия
-Имя
-Отчетство
-дата рождения
-год заказа
-месяц заказа



И постоянная таблица USLUGI с атрибутами:
-айди(первичный ключ,автоинкремент)
-Фамилия
-Имя
-Отчетство
-дата рождения
-год заказа
-месяц заказа
-дата создания записи

как можно запросом перенести данные из таблице #t в таблицу USLUGI ? Условие переноса- если в таблице нет такого человека.
18 мар 15, 13:29    [17399273]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Glory
Member

Откуда:
Сообщений: 104751
SvetVokne
как можно запросом перенести данные из таблице #t в таблицу USLUGI ?

INSERT ... SELECT

SvetVokne
Условие переноса- если в таблице нет такого человека.

WHERE NOT EXISTS(<запрос с условием если в таблице нет такого человека>)
18 мар 15, 13:32    [17399287]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Добрый Э - Эх
Guest
SvetVokne,

Как вариант - MERGE.заодно и проапдейтить можно можно будет частично совпадающие данные.
18 мар 15, 13:43    [17399402]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
Добрый Э - Эх
SvetVokne,

Как вариант - MERGE.заодно и проапдейтить можно можно будет частично совпадающие данные.

Вариант конечно, тут имхо - вариант предложенный выше будет проще для ТС.
18 мар 15, 13:55    [17399469]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
SvetVokne
Member

Откуда:
Сообщений: 5
Добрый Э - Эх
SvetVokne,

Как вариант - MERGE.заодно и проапдейтить можно можно будет частично совпадающие данные.

вариант с марге подумывала, но не знаю верную конструкцию
18 мар 15, 13:58    [17399489]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Glory
Member

Откуда:
Сообщений: 104751
SvetVokne
но не знаю верную конструкцию

А что мешает узнать ее из хелпа ?
18 мар 15, 13:58    [17399493]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Okmor
Member

Откуда:
Сообщений: 132
Glory,
MERGE работает начиная с 2008R2.
Какая у вас версия сервера.
Очень хорошая команда и решает кучу проблем с обновлением, добавление, удалением данных.
18 мар 15, 15:46    [17400425]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Okmor
MERGE работает начиная с 2008R2
Что Вы говорите!
На самом деле с самой первой реализации SQL 2008
18 мар 15, 15:48    [17400442]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Okmor
Member

Откуда:
Сообщений: 132
Okmor,
Читать сюда: [url=]http://dev.net.ua/blogs/kosinsky/archive/2007/06/06/3413.aspx[/url]
18 мар 15, 15:52    [17400465]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
Okmor
Member

Откуда:
Сообщений: 132
Okmor,
Немного ошибся.
18 мар 15, 15:53    [17400468]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
SvetVokne
Member

Откуда:
Сообщений: 5
Все решилось с помощью оператора EXCEPT.

Решение такое:
insert Uslugi (поля которые вставляем)

(select(выборка данных из таблице #t по которым нужно сравнить))

EXCEPT

(select(выборка данных из таблице Uslugi по которым нужно сравнить))

Спасибо за помощь=)
19 мар 15, 09:31    [17403458]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
SvetVokne
Member

Откуда:
Сообщений: 5
Okmor,
спасибо за ссылку.
19 мар 15, 09:33    [17403468]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SvetVokne
Все решилось с помощью оператора EXCEPT
Ужас какой-то!
19 мар 15, 09:34    [17403473]     Ответить | Цитировать Сообщить модератору
 Re: Загрузка данных из одной таблицы в другую(если их там нет)  [new]
SvetVokne
Member

Откуда:
Сообщений: 5
iap
SvetVokne
Все решилось с помощью оператора EXCEPT
Ужас какой-то!
А какие есть основания такого высказывания?объясните.
19 мар 15, 09:36    [17403486]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить