Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.45 MB
Время: 0.036 c
3-1109176563
Torri
2005-02-23 19:36
2005.03.27
Перенос содержимого из StringGrid в DBGrid


8-1103024819
Ego
2004-12-14 14:46
2005.03.27
Как получить значение цвета?


3-1109252059
Alex--
2005-02-24 16:34
2005.03.27
Ошибка при загрузке файла в TClientDataSet


6-1106490025
M@D
2005-01-23 17:20
2005.03.27
Компьютер по IP


14-1109872360
Verg
2005-03-03 20:52
2005.03.27
Адреса protected полей класса





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