Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

Выявление дублированных записей   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
15-1148622507
worldmen
2006-05-26 09:48
2006.06.18
WinXp Pro. Доступ к принтерам по сети.


3-1145789890
Navi
2006-04-23 14:58
2006.06.18
Запрос на удаление записей


15-1148294507
Карелин Артем
2006-05-22 14:41
2006.06.18
Нужна инфа по численности насления нас. пунктов.


1-1147094322
Sphinx
2006-05-08 17:18
2006.06.18
Как получить интерфейс класса ?


1-1147443885
parovoZZ
2006-05-12 18:24
2006.06.18
Результат функции по событию в dll