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

Откуда:
Сообщений: 12
Привет народ
Таблица с 9 столбцами, там идет запись ИД, дата и еще несколько столбцов с текстовыми данными.
Условие такое, надо написать такой запрос, чтобы добавить в таблицу записи, ИД и дата которых не совпадают. т.е. в сутки может быть зарегистрирован только один ИД, следующие записи с этим ИД в тот же день пропускаются. Но этот же ИД с другой датой надо добавить, тоже одна запись на одну дату...

Исходная таблица:
ИД | Дата
----------------
1 | 2016-11-11
1 | 2016-11-11
1 | 2016-11-11
1 | 2016-11-12
1 | 2016-11-12
1 | 2016-11-13
2 | 2016-11-13
2 | 2016-11-13


Результирующая таблица
ИД | Дата
----------------
1 | 2016-11-11
1 | 2016-11-12
1 | 2016-11-13
2 | 2016-11-13

Думаю, смог объяснить смысл ))

Как решить этот вопрос одним запросом?
18 ноя 16, 02:34    [19906066]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на добавление записей с условием несовпадения двух столбцов  [new]
Massa52
Member

Откуда:
Сообщений: 380
declare @t table (id int, d datetime)

insert into @t
   values 
    (1,'20161111')
   ,(1,'20161111')
   ,(1,'20161111')
   ,(1,'20161112')
   ,(1,'20161112')
   ,(1,'20161113')
   ,(2,'20161113')
   ,(2,'20161113')

select * from @t
group by d, id
18 ноя 16, 03:16    [19906085]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на добавление записей с условием несовпадения двух столбцов  [new]
umrbek79
Member

Откуда:
Сообщений: 12
Massa52,

спасибо за ответ.
кажется я неправильно сформулировал вопрос.
итак, постараюсь объяснить.

Результирующая таблица (там посередине еще 6 столбиков, но эти 2 важные)
ИД | Дата
----------------
1 | 2016-11-11
1 | 2016-11-12
1 | 2016-11-13
2 | 2016-11-13

в результате работы программы я получаю уникальные записи за текущий день. эти данные я должен отправить на сервер в вышеприведенную таблицу. ранее в этот же день данные уже отправлены. получены еще данные и эти данные я тоже должен отправить на сервер. внимание, вопрос: каким запросом добавлять данные, чтобы существующие данные с совпадающим ИД и датой были пропущены, т.е. ИД должен присутствовать единожды за дату?
19 ноя 16, 03:24    [19910844]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на добавление записей с условием несовпадения двух столбцов  [new]
umrbek79
Member

Откуда:
Сообщений: 12
Massa52, спасибо, что откликнулся.
я решил проблему.

тем, кто с этим столкнулся, вот решение.

INSERT INTO aaa
SELECT [Kod],
...
date
FROM bbb AS bb2
WHERE bb2.Kod NOT IN (SELECT aa.Kod
FROM aaa AS aa
WHERE aa.date = bb2.date
19 ноя 16, 04:30    [19910849]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить