Форум: "Базы";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
ВнизВыявление дублированных записей Найти похожие ветки
← →
Alexey V. (2006-04-21 09:27) [0]Имеется таблица (пл. поручения). Необходимо найти одинаковые записи, если они есть. Сравнение по одному полю (№ п/п, сумма и т.д.) ничего не даст. Надо находить совпадение сразу по нескольким полям. Как это сделать?
← →
vovnuke © (2006-04-21 09:33) [1]select *
from tabl
where f1 = :p1 and f2 = :p2 and ...
← →
Sergey13 © (2006-04-21 09:33) [2]Select f1,f2...fN, count(*)
from tablename
group by f1,f2...fN
← →
vovnuke © (2006-04-21 09:37) [3]в [1] указано просто как получить все записи удовлетворяющие определенным условиям.
← →
Alexey V. (2006-04-21 09:43) [4]to Sergey13
Спасибо, работает. Остается только из полученной выборки найти записи, где count(*) > 1
← →
Sergey13 © (2006-04-21 09:45) [5]2 [4] Alexey V. (21.04.06 09:43)
Select f1,f2...fN, count(*)
from tablename
group by f1,f2...fN
having count(*) > 1
← →
Alexey V. (2006-04-21 09:55) [6]to [5] Sergey13
Классно. Никогда бы не додумался, что можно писать count(*)
Спасибо.
← →
Dummes (2006-04-24 14:28) [7]Вот еще один нестандартный способ:
Создаем таблицу (нпр. в Парадокс)
Индексируем (PK) те поля, которые не должны повторяться
Вставляем Isnert в блок try except
Если возникает исключение, то запись повторяющаяся,
если нет, то уникальная!
← →
Anatoly Podgoretsky © (2006-04-24 14:45) [8]И предлагаешь после этого ее от туда удалять :-)
← →
evvcom © (2006-04-24 16:02) [9]
> Вот еще один нестандартный способ:
А вот еще один стандартный способ:
Перейти на "нормальную" СУБД и наложить UNIQUE CONSTRAINT.
← →
Sergey13 © (2006-04-24 16:06) [10]2[9] evvcom © (24.04.06 16:02)
Это способ не допустить дубликатов, а тут надо показать имеющиеся. 8-)
← →
Alexey V. (2006-04-24 16:28) [11]2 [9] evvcom
Да, это хорошо бы, но Центральный банк пока принимает п/п только в виде dbf файлов, а контроль желательно проводить в выходном файле. Банковский опердень, естественно, не на dbf.
← →
evvcom © (2006-04-24 16:52) [12]Ну так п/п формируются в твоей программе? И в dbf ты их экспортируешь? Я понимаю, банковскую выписку анализировать. Или ты в банке работаешь? И как раз получаешь эти п/п от клиентов? Так или иначе, правильный ответ тебе уже дан. Дерзай.
← →
Alexey V. (2006-04-24 17:45) [13]Я в банке работаю и уже использую совет [5]
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c