Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Как можно выбрать повторяющиеся записи из таблицы???   Найти похожие ветки 

 
Sirus   (2003-10-22 08:29) [0]

Привет Мастера... Есть вопрос: Как можно выбрать из таблицы записи у которых одно или несколько полей совпадают?
Я делаю так
select * from TABLE1 t
where (select count(*) from TABLE1
where FIELD1=t.FIELD1)>0
Все работает выборка производится ужасно долго...
Может есть другой путь???


 
Danilka   (2003-10-22 08:38) [1]

можно вот-так, например:

SELECT FIELD1, count(FIELD1)
FROM TABLE1
GROUP BY FIELD1
HAVING count(FIELD1)>1

Если есть индекс по полю FIELD1, то он будет использоваться.


 
Zacho   (2003-10-22 08:40) [2]

См. http://www.ibase.ru/devinfo/deldupes.htm


 
Sirus   (2003-10-22 09:08) [3]

Просто вопрос:
Извините, а почему данный запрос выдает все записи???

select * from CTL_ENTERPRISES t
where exists (select * from ctl_enterprises t2
where t2.CODE=t.CODE and t2.RDB$DB_KEY=t.rdb$db_key)


 
Zacho   (2003-10-22 09:14) [4]


> Sirus © (22.10.03 09:08) [3]

Правильно так:
select * from CTL_ENTERPRISES t
where exists (select CODE from ctl_enterprises t2
where t2.CODE=t.CODE and t2.RDB$DB_KEY != t.rdb$db_key)


 
Sirus   (2003-10-22 09:20) [5]

Я знаю как правильно...
Просто я никак не пойму, почему если сделать t2.RDB$DB_KEY=t.RDB$DB_KEY то запрос выдает все записи...
По идее он же должен не выдавать ни одной записи...


 
Johnmen   (2003-10-22 09:23) [6]

>Sirus © (22.10.03 09:20)

У тебя что-то с логикой...:)
А зачем такие названия полей ?


 
Zacho   (2003-10-22 09:24) [7]


> Sirus © (22.10.03 09:20) [5]

Да нет, именно все записи. Так как одна запись со значением поля CODE, равном значению "текущей" записи, и с таким же RDB$DB_KEY, как и у "текущей" записи всяко существует, и это именно "текущая" запись и есть :-)


 
Sirus   (2003-10-22 09:50) [8]

2 Zacho ©
Спасибо... теперь догнал... а то покоя не давал этот вопрос... :)))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
6-41855
Yot
2003-09-10 13:11
2003.11.13
Client_Server


1-41664
TUser
2003-10-25 12:25
2003.11.13
showMessage


3-40990
User_OKA
2003-10-16 07:50
2003.11.13
Отображение значения справочника


3-40846
Alex-kosmonavt
2003-10-21 16:43
2003.11.13
Как удалить


1-41431
REA
2003-10-28 17:20
2003.11.13
Array of Const





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