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

Откуда:
Сообщений: 657
Привет
Есть две таблицы

табл 1
ID - Auto Inc
Moment Getdate()
data1
data2
data3

табл 2
data1
data2
data3

нужно в первую вставить все уникальные записи из второй
уникальность по всем полям
тоесть если в первой есть запись 1 1 1 а во второй 1 1 2 то вставляем
19 июн 13, 17:49    [14455724]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Glory
Member

Откуда:
Сообщений: 104760
И в чем проблема ?
19 июн 13, 17:51    [14455734]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Alexander_fx
Привет
Есть две таблицы

табл 1
ID - Auto Inc
Moment Getdate()
data1
data2
data3

табл 2
data1
data2
data3

нужно в первую вставить все уникальные записи из второй
уникальность по всем полям
тоесть если в первой есть запись 1 1 1 а во второй 1 1 2 то вставляем

insert table1(data1,data2,data3)
select data1,data2,data3 FROM table2
EXCEPT
select data1,data2,data3 FROM table1
19 июн 13, 17:57    [14455774]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Alexander_fx
уникальность по всем полям
тоесть если в первой есть запись 1 1 1 а во второй 1 1 2 то вставляем
так ведь количество полей в таблицах разное
19 июн 13, 17:58    [14455778]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Паганель
Alexander_fx
уникальность по всем полям
тоесть если в первой есть запись 1 1 1 а во второй 1 1 2 то вставляем
так ведь количество полей в таблицах разное

в первой таблице вроде автоинкремент и GETDATE() (вычисляемое)
19 июн 13, 17:58    [14455782]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Alexander_fx
Member

Откуда:
Сообщений: 657
Сергей Викт.,

спасибо

а как сделать тоже самое но сравнивать не все поля а копировать все
тоесть в таблице 10 полей - сравнивать отличия по трем - и копировать все строки где эти поля отличаются не зависимо от других полей?
19 июн 13, 18:47    [14455998]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Alexander_fx
Member

Откуда:
Сообщений: 657
то есть 2 таблицы
в каждой 2 поля
надо внести в таблицу 1 те строки которые имеют отличия по полю 1 независимо от поля 2 из таблицы 2
19 июн 13, 21:03    [14456257]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
insert table1(data1,data2,data3)
/*;with
  table1 (data1,data2,data3) as (select 1,1,1 union all select 1,2,2),
  table2 (data1,data2,data3) as (select 1,2,1 union all select 2,1,2)*/
select data1,data2,data3 
FROM table2 t2
where not exists(
  select *
  FROM table1 t1
  where t1.data1=t2.data1 and t1.data2=t2.data2)
data1data2data3
212
19 июн 13, 21:21    [14456296]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Alexander_fx,

чем MERGE не устраивает?
19 июн 13, 21:21    [14456300]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить