Главная страница
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.045 c
4-1142270326
dimak-2k
2006-03-13 20:18
2006.06.18
Работа с портом LPT


3-1145967793
Express
2006-04-25 16:23
2006.06.18
TDBGrid - номер текущей записи и всего записей в таблице


2-1148909221
ksenia
2006-05-29 17:27
2006.06.18
перестановка символов


10-1120807425
L_Vic
2005-07-08 11:23
2006.06.18
Не могу получить в Delphi методы листа Excel


1-1147133271
ValdikSS
2006-05-09 04:07
2006.06.18
Замена ресурсов в w32 EXE на дельфи