Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизВыбрать записи с одинаковыми значениями полей Найти похожие ветки
← →
PKT (2005-02-24 05:31) [0]Задачка:
Выбрать записи, у которых:
((поле1=Величина1) и (значения полей2 равны))
+ (OR)
(поле1=Величина2),
отсортировать по полю1
Первая половина задачки худо-бедно решается:
select ...... from Base A, Base B where
(
(A.Поле1 = Величина 1) and
(A.Поле2 = B.Поле2) and (A.УникальноеПоле <> B.УникальноеПоле)
)
order by A.Поле1
Вся задачка тоже решается
select ...... from Base A, Base B where
(
(A.Поле1 = Величина 1) and
(A.Поле2 = B.Поле2) and (A.УникальноеПоле <> B.УникальноеПоле)
)
or
(A.Поле1=Величина2 and B.Поле1=Величина2)
order by A.Поле1
но тормозит капитально.
База совсем небольшая (около 1000), выборка – записей 20. Понимаю, мое решение
явно «в лоб», может быть можно как-то поизящней ?
Распространенный вариант для поиска двойных записей
select Поле2, count(Поле2) from Base
group by Поле2 having count(Поле2) > 1
как-то не смог использовать из-за второй части задачки.
← →
Johnmen © (2005-02-24 09:07) [1]http://www.ibase.ru/devinfo/deldupes.htm
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.041 c