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

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

поиск дубликатов в таблице бд


LDV ©   (2012-12-18 17:34:00) 

Есть таблица бд (Paradox):

item (id, name)

Нужно вывести дубликаты по полю item_name. Помогите с запросом, пока что получается вывести значение дубликата и его количество:

SELECT name, COUNT(name) FROM item GROUP BY name HAVING COUNT(name) > 1

Получается так:


name count of name
aaa  3


Нужно, чтобы было:


name
aaa
aaa
aaa


sqler   (2012-12-20 12:23:00) [1]

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


SELECT DISTINCT item_id, name FROM item i1 JOIN item i2 ON i1.name <> '' AND i1.name = i2.name AND i1.item_id <> i2.item_id ORDER BY name;


Inovet   (2012-12-19 22:12:00) [2]

> [12] Anatoly Podgoretsky ©   (19.12.12 21:29)
> в запросе нет ИД

Предположу, что автор забыл, или не подумал, или не получилось. Но, если не так, то интересно узнать,

> [8] Германн ©   (19.12.12 02:21)
> А нафига?


Anatoly Podgoretsky   (2012-12-19 21:29:00) [3]

> Inovet  (19.12.2012 21:16:11)  [11]

Тау в запросе нет ИД, всего одно поле ‘name’


Inovet   (2012-12-19 21:16:00) [4]

> [10] Anatoly Podgoretsky ©   (19.12.12 21:05)
> Все три сразу?

По очереди. Надо только Id не забыть в запросе.


Anatoly Podgoretsky   (2012-12-19 21:05:00) [5]

Все три сразу?


Inovet   (2012-12-19 15:46:00) [6]

> [8] Германн ©   (19.12.12 02:21)
> А нафига?

Например, исправить.


Германн   (2012-12-19 02:21:00) [7]


> Нужно, чтобы было:
> name
> aaa
> aaa
> aaa

Теперь вопрос: А нафига?


Anatoly Podgoretsky   (2012-12-18 20:55:00) [8]

> LDV  (18.12.2012 17:34:00)  [0]

SELECT name FROM item WHERE name = ’aaa’


Медвежонок Пятачок   (2012-12-18 18:53:00) [9]

ну на чём на чём. на нем конечно же

https://www.dropbox.com/s/quibvpup9risswi/customer.png

может автор дважды извращенец?
1. юзает парадокс
2. юзает парадокс не через бде


sniknik   (2012-12-18 18:16:00) [10]

> мой вариант проверен.
на чем?
автор похоже пользуется engin-блокнотом.
:)

p.s. мой кстати тоже проверен... после первого поста. т.что +1 к "не гони."


Медвежонок Пятачок   (2012-12-18 17:54:00) [11]

не гони.
мой вариант проверен.


LDV   (2012-12-18 17:53:00) [12]


> sniknik ©



> Медвежонок Пятачок ©


Оба варианта не прокатывают, кидает engine error


Медвежонок Пятачок   (2012-12-18 17:44:00) [13]

select a.name
from item a
where 1 < (select count(*) from item where name = a.name)


sniknik   (2012-12-18 17:43:00) [14]

не знаю справится ли используемый тобой "движок" но ... попробуй -
SELECT name FROM item WHERE name in (SELECT name FROM item GROUP BY name HAVING COUNT(name) > 1)


Наверх

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