Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.011 c
2-1149008846
Лыган
2006-05-30 21:07
2006.06.18
Подскажите


2-1148882414
n-neo
2006-05-29 10:00
2006.06.18
График


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


15-1148327115
evdiscovery
2006-05-22 23:45
2006.06.18
[работа] требуется программист Delphi на удаленную работу


9-1131442382
Med
2005-11-08 12:33
2006.06.18
форматы 3d моделей для GLScene





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