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

Вниз

Проблема с SQL   Найти похожие ветки 

 
vvvic   (2001-12-10 09:01) [0]

Начал изучать SQL и возникла проблема. Как написать запрос вытаскивающий из БД(Paradox) все дублирующиеся по четырём полям записи. Заранее спасибо!


 
Mick   (2001-12-10 09:19) [1]

Select f1,f2,f3,f4,count(*) Quantity from MyTable
Group By f1,f2,f3,f4
Having Quantity > 1


 
marat   (2001-12-10 10:09) [2]

Mick - это скорее как обнаружить
есть ли такие записи в таблице
а вот если надо найти именно эти записи тогда наверно надо чуть модифицировать твой запрос
select a.id
from MyTable a
where ....



 
Mick   (2001-12-10 10:23) [3]

Если кроме этих четырех полей в таблице есть только PK, то это именно, то что спрашивал автор.


 
vvvic   (2001-12-10 10:26) [4]

> Mick
Ругается на Quantity говорит Invalid field name


 
Mick   (2001-12-10 10:27) [5]

Убери запятую перед Quantity


 
vvvic   (2001-12-10 10:32) [6]

select name, surname, pathname, datebirth, seria, number, docseria, docnumber,count(*) Quantity from police
Group By name, surname, pathname, datebirth, seria, number, docseria, docnumber
Having Quantity > 1


 
TaB   (2001-12-10 10:32) [7]

В разных видах SQL - это по разному, попробуй так:
Select f1,f2,f3,f4,count(*) Quantity
From MyTable
Group By f1,f2,f3,f4
Having count(*) > 1


 
Mick   (2001-12-10 10:36) [8]

Да, точно. "Having Count(*) > 1"


 
vvvic   (2001-12-10 10:42) [9]

Спасибо огромное работает!
Но если мне надо вывести 5 полей, а сравнивать на дубликаты по 4?


 
Mick   (2001-12-10 10:47) [10]

В этом случае только связанный подзапрос ...


 
vvvic   (2001-12-10 10:52) [11]

Если можно покажите пример


 
vvvic   (2001-12-10 10:52) [12]

> Mick
Если можно покажите пример


 
Mick   (2001-12-10 11:14) [13]

Например так

Select * from MyTable A
Where EXISTS
(Select B.F1,B.F2,B.F3,B.F4, Count(B.*) From MyTable B
Where B.F1 = A.F1 and B.F2 = A.F2 and B.F3 = A.F3 and B.F4 = A.F4
Group By B.F1,B.F2,B.F3,B.F3 HAVING Count(B.*) > 1)


 
vvvic   (2001-12-10 11:55) [14]

> Mick
Пишу следующее:
select p.name, p.surname, p.pathname, p.datebirth, p.seria, p.number
from police p
where exists
(select u.name, u.surname, u.pathname, u.datebirth, count(u.*)
from police u
where (u.name=p.name) and (u.surname=p.surname ) and
(u.pathname=p.pathname) and (u.datebirth=p.datebirth)
Group By u.name, u.surname, u.pathname, u.datebirth Having count(u.*) > 1)
А он мне ошибку Invalid field name!
Хотя поля указаны правильно.
Может что-то не то?


 
Mick   (2001-12-10 12:06) [15]

Вот LocalSQL запрос, 100% работающий на Paradox

Select * from MyTable A
Where EXISTS
(Select B.F1,B.F2,B.F3,B.F4, Count(*) From MyTable B
Where B.F1 = A.F1 and B.F2 = A.F2 and B.F3 = A.F3 and B.F4 = A.F4
Group By B.F1,B.F2,B.F3,B.F4 HAVING Count(*) > 1)



 
vvvic   (2001-12-10 12:26) [16]

Огромное блогадарю!
В count-е убрал псевдоним и заработало!



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

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

Наверх





Память: 0.59 MB
Время: 0.023 c
1-28478
tovSuhov
2001-12-22 13:47
2002.01.10
Как поюзать ListView ?


1-28501
abandon
2001-12-23 16:23
2002.01.10
Метки на jpg, bmp ит.д.


7-28548
VS
2001-09-27 07:12
2002.01.10
Как записать несколько картинок в один .dat файл


1-28471
XPatriot
2001-12-21 14:50
2002.01.10
Работа с файлами.


3-28443
PVR
2001-12-06 17:58
2002.01.10
Хочу записать звук с микрофона в фиелд





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