получить новую и измененную запись из таблицы - PullRequest
0 голосов
/ 06 октября 2011

Я новичок в MS SQL. У меня есть 2 таблицы, одна имеет данные, а другая отслеживает записи, которые были обработаны (таблица журналов). Я хочу получить записи, которые являются новыми, то есть отсутствуют в таблице журналов, и те записи, которые были изменены после последней выборки.

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

В настоящее время я делаю это с помощью UNION. 1-й запрос извлекает новые записи, а второй - измененную запись. Это правильный способ сделать это, или есть лучший способ для этого.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 06 октября 2011

Попробуйте что-то вроде этого:

select id, updatedDate
from YourDataTable
except
select id, updatedDate
from YourLogTable

Что EXCEPT возвращает строки, которых нет в обоих запросах. INTERSECT делает противоположное.

Вы также можете использовать MERGE , но, на мой взгляд, ваша самая простая ставка - через EXCEPT.

0 голосов
/ 06 октября 2011

Я думаю, что UNION на самом деле лучший способ получить эти данные, особенно если вы можете использовать индексы для каждого оператора выбора

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