Главная страница
    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.012 c
1-1147332028
leonidus
2006-05-11 11:20
2006.06.18
Как отображать в TLabel русский, испанский и английский текст?


2-1148977859
alec_sey
2006-05-30 12:30
2006.06.18
Шифрование файлов


1-1147423740
@LeX-I
2006-05-12 12:49
2006.06.18
ошибка вставки в RichEdit


3-1145542831
Sphinx
2006-04-20 18:20
2006.06.18
Невизуальные компоненты для БД


6-1139739620
Alexandr
2006-02-12 13:20
2006.06.18
отправка HTML письма





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский