Главная страница
    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.47 MB
Время: 0.011 c
2-1149153692
novice
2006-06-01 13:21
2006.06.18
Как открыть форму?


2-1149058692
Zhekson
2006-05-31 10:58
2006.06.18
почему ValInt := StrToInt( 1 ); выдаёт EConvertError


4-1142905761
powerchute
2006-03-21 04:49
2006.06.18
Управление настройками электропитания


15-1148187592
mlm68
2006-05-21 08:59
2006.06.18
Как отправить SMS/MMS?


15-1148583587
Andy BitOff
2006-05-25 22:59
2006.06.18
Насколь серьёзная такая защита?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский