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

Откуда:
Сообщений: 61
Имею SQL Server 2014, 2 таблицы "doubles","export_table", в обеих таблицах могут быть дубликаты записей, одинаковая структура полей: "code","inn".

Мне нужно удалить из таблицы "export_table" все записи по значениям поля "code", условие в таблице "export_table" не все дубликаты ИНН из таблицы "doubles",

этапы по логике:

0. Берем дубликаты "inn" таблицы "doubles" которые также имеют дубликаты в таблице "export_table"
1. берем группу дубликатов поля "inn" из таблицы "doubles" и их значения поля "code"
2. Смотрим все ли "code" взятые встречаются в таблице "export_table"
3. Если встречаются не все, то удаляем все записи из "export_table" по данному списку "code" данной группы дубликатов.
4. Так для всех групп дубликатов таблицы "doubles".

К сообщению приложен файл. Размер - 113Kb
13 дек 19, 17:11    [22039995]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк по сравнению дубликатов из разных таблиц  [new]
Владислав Колосов
Member

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

Мне нужно удалить из таблицы "export_table" все записи по значениям поля "code", условие в таблице "export_table" не все дубликаты ИНН из таблицы "doubles",


Эта фраза вообще непонятна. Надо таблицу export_table привести к тому, чтобы ИНН были уникальными?
13 дек 19, 17:44    [22040058]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк по сравнению дубликатов из разных таблиц  [new]
PizzaPizza
Member

Откуда:
Сообщений: 370
видать очередная ошибка дизайна, раз такую череззаборзадерищенскую ерунду надо городить, что даже объяснить невозможно
13 дек 19, 18:04    [22040097]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк по сравнению дубликатов из разных таблиц  [new]
Moneo
Member

Откуда:
Сообщений: 61
Владислав Колосов, нужно для каждой группы дубликатов ИНН таблицы "doubles" проверить есть ли все её коды данной группы в таблице Export_table, если не все, то удалить коды данной группы из export_table, если все, то не удалять. К уникальным приводить не нужно, только проверить каждая ли группа кодов есть в таблице export_Table, если хоть какого-то нет, то удалить все элементы группы дубликатов. Надеюсь стало понятнее.
13 дек 19, 19:43    [22040180]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк по сравнению дубликатов из разных таблиц  [new]
PizzaPizza
Member

Откуда:
Сообщений: 370
Если у вас множественные записи, то считайте и сравнивайте количества записей в таблицах.
Если у вас конечно code (которое выглядит инконсистент и похоже на хеш и на uid) уникальный в "группе".
Зависит от логики процесса.
14 дек 19, 00:55    [22040317]     Ответить | Цитировать Сообщить модератору
 Re: Удаление строк по сравнению дубликатов из разных таблиц  [new]
PizzaPizza
Member

Откуда:
Сообщений: 370
А вообще если у вас не DWH то можно и не перекладывать из таблицы в таблицу, а запросом вынимать ваш экспорт.
14 дек 19, 01:01    [22040319]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить