Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как выбрать все дубликаты талицы SQL запросом [D7, dBase, FoxPro]


Страницы:   1 2

Роман ©   (2009-01-29 10:52:00) 

как выбрать все дубликаты талицы SQL запросом ?

что б не число дубликатов а дубликаты все выходили !

пример

НЕ
ИВАНОВ ИВАН ИВАНОВИЧ 2
а так
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
Сделать


Ega23   (2009-01-29 13:02:00) [21]


> мне нужены к ней запросы по выявлению двойных записей


В [1] и [2] тебе ответили.
Если тебя это чем-то не устраивает, то у тебя уже есть начальный инструментарий для дальнейшего наращивания запроса. Например

Select * from Table
where FIO in (см. запрос [2])


И потом, как ты будешь решать, кто из них реальная запись, а кто - дубликат (правда это уже твои проблемы).


> дубликаты ФИО (одно это поле или несколько здесь не суть)


Суть, и очень существенная. Потому что неизвестно, что есть первичный ключ.  Потому как если PK не вот это вот самое ФИО, то тогда это никакие не дубликаты а вполне себе самостоятельные сущности.


> и его пример ясно показал, что group by его не устраивает


Ясно только одно, что он чуть-чуть подумать не хочет.


Роман   (2009-01-29 12:51:00) [22]

:)))


Кщд   (2009-01-29 12:26:00) [23]

>Johnmen ©   (29.01.09 11:48) [7]
>Что именно он сказал ясно? Дубликаты чего?
дубликаты ФИО (одно это поле или несколько здесь не суть)
и его пример ясно показал, что group by его не устраивает
однако, и ответ (1), и ответ (2) его содержат
и после этого автора обвинили в том, что он "прячет и утаивает")
не первый раз замечаю такое поведение здесь от уважаемых мной людей(в частности, Вас)
прошу прощения, что вырвалось)
впрочем, это оффтоп - молчу-молчу)


Sergey13   (2009-01-29 12:20:00) [24]

> [9] Роман   (29.01.09 12:14)

Я внесу свою лепту телепатирования.
Подозреваю, что в таблице есть и другие поля, которые НЕ повторяются. Если они тебе нужны и ты их просто не написал в примере, то приведенные запросы не сработают или сработают неправильно. Если других полей нет, то в топку такую таблицу.


Роман   (2009-01-29 12:14:00) [25]

ЕСть таблица допустим 1.dbf

мне нужены к ней запросы по выявлению двойных записей и еще кое что

Вот пробую по разному и ищу тоже везде только одна строка выходит

допустим ИВАНОВ ИВАН ИВАНОВИЧ и количтво например 5

а мне на до чтобы выхолило

ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ


Anatoly Podgoretsky   (2009-01-29 12:07:00) [26]

> Ega23  (29.01.2009 11:35:05)  [5]

Он привел два примера, то чего он не хочет и наоборот.


Johnmen   (2009-01-29 11:48:00) [27]


> Кщд   (29.01.09 11:39) [6]

Что именно он сказал ясно? Дубликаты чего?


Кщд   (2009-01-29 11:39:00) [28]

>Johnmen ©   (29.01.09 11:34) [4]
он это ясно сказал: "что б не число дубликатов а дубликаты все выходили !"
да ещё и с примером)


Ega23   (2009-01-29 11:35:00) [29]


> Ему надо не по одной строчке, как в группирование, а все,
>  но только в том случае если дубли.


Снимаю шляпу перед твоим телепатором.


Johnmen   (2009-01-29 11:34:00) [30]


> Anatoly Podgoretsky ©   (29.01.09 11:32) [3]
> Ему надо не по одной строчке, как в группирование, а все, но только в том случае если дубли.

Нам он этого не говорил :)


Anatoly Podgoretsky   (2009-01-29 11:32:00) [31]

> Ega23  (29.01.2009 11:04:01)  [1]

Это не даст результата, тут надо громоздить с вложеными запросами.
Ему надо не по одной строчке, как в группирование, а все, но только в том случае если дубли.
Видимо плохо спроектирована таблица, и теперь он пытается удалить лишнее.


Johnmen   (2009-01-29 11:05:00) [32]

SELECT T1.F, T1.I, T1.O FROM Table T1
 GROUP BY T1.F, T1.I, T1.O
 HAVING COUNT(*)>1


Ega23   (2009-01-29 11:04:00) [33]


select  aName, Count(aName) as Count
from Table
group by aName
having count(aName)>1


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо