Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск совершенно одинаковых записей, или почти одинаковых 
:(
    Опции темы
Akella
Дата 5.3.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Есть таблица с 37ю полями разных форматов. Можно ли как-то попроще выявить все совершенно одинаковые записи (поле ID невсчет)?
Или только For select ..... where pole1 = :pole1..... pole37 = :pole37.....?
PM MAIL   Вверх
jsa
Дата 5.3.2008, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 1
Всего: 20



изврат конечно, но всеже:
все превратить в хеши, кроме ID конечно, типа md5(cast(field1 as varchar2)||cast(field2 as varchar2)||..||cast(field37 as varchar2))
останется два поля id и хеш
ну и 

select id from tab where hash in(select distinct hash from tab) - id неодинаковых записей, остальные - одинаковые  smile 


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Akella
Дата 5.3.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



нет, это не вариант

Добавлено через 14 секунд
хотелось бы попроще
PM MAIL   Вверх
Deniz
Дата 6.3.2008, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Ну а просто
Код

select field1, field2, field3, ..., count(*) from table group by field1, field2, field3, ... having count (*) > 1
непомню ограничение на кол-во полей в group by.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 6.3.2008, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



а через For select никто не пробовал?
PM MAIL   Вверх
Akella
Дата 6.3.2008, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



просто фактически у меня список сравнения - 26 полей, а всего нужно выбирать 37 полей, тут с группировкой могу быть траблы

Добавлено через 28 секунд
Ну тему я немножко некорректно назвал smile 
PM MAIL   Вверх
Deniz
Дата 7.3.2008, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Akella, так скажи что конкретно надо, какой вход, как обработать и что на выходе.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 7.3.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



базу могу отправить, короче

Добавлено через 1 минуту и 57 секунд
есть куча объявлений, т.е. куча записей (полей всего 39), по определённым признакам сравниваются объявления, к примеру, по текстоу, рубрикам и телефонам, так вот моя задача вывести в гриде "пробудблированные" записи
PM MAIL   Вверх
Deniz
Дата 11.3.2008, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Похоже только варианты предложения jsa.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0960 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.