|
|
|
| Доброго времени суток!
Помогите, пжл, столкнулся с проблемами при работе с Access. Есть БД в 100 тыс. строк (графы ИНН, филиал, доход). Из Базы данных нужно удалить строки где повторяются одновременно графы ИНН и филиал, но только если данному ИНН соответствует 1 филиал!
Т.е. из такой таблицы:
ИНН Филиал
1 х
1 х
2 х
2 х
2 у
3 х
3 z
Необходимо чтобы получилось:
ИНН Филиал
2 х
2 х
2 у
3 х
3 z
Очень прошу помочь если кто знает как. Очень долго бяюсь над проблемой, а сроки уже очень сильно поджимают. Заранее спасибо. | |
|
| |
|
|
|
| в том, что "необходимо получить" у Вас очевидно ошибка ?
если есть дубль, какую запись удалять?
а вообще при создании нового запроса можно выбрать "... найти дубли" | |
|
| |
|
|
|
| В том то и проблема, что нужно удалить только те строки где ИНН соответствует только 1 из филиалов, т.е. если ИНН повторяется как минимум у 2 филиалов, то эти строки как раз надо оставить. | |
|
| |
|
|
|
| Вопрос. что должно получиться при такий данных?
ИНН Филиал
1 х
1 х
2 х
2 х
2 у
3 х
3 z
4 x
5 z | |
|
| |
|
|
|
| при таких данных мы получаем перечень компаний-клиентов, которые встречаются в нескольких филиалах.
У меня сейчас есть база со всеми повторяющимися ИНН клиентов филиалов и из них мне нужно убрать тех клиентов ИНН которых встречается только в 1 (любом из 11) из филиалов, но может просто встречаться несколько раз! | |
|
| |
|
8 Кб. |
|
| Вот Вы не ответили на мой вопрос, я хотел узнать что делать с теми записями которые не имеют дублей вообще..
получайте как я понял
решение "в лоб" оптимизировать нет времени
q1 и q1 - вспомогательные запросы | |
|
| |
|
|
|
| так чтоле?
SELECT a.ИНН, a.Филиал
FROM ЙаТаблидза AS a
WHERE a.ИНН in (select x.ИНН
from (SELECT b.ИНН, b.Филиал
FROM ЙаТаблидза AS b
GROUP BY b.ИНН, b.Филиал) as x
group by x.ИНН
having count(x.Филиал)>1);
|
| |
|
| |