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

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

FireBird неповторяющиеся записи [D7]


dest81 ©   (2008-01-29 12:50:00) 

Есть таблица с полями N, Name, Money где N уникальное, а остальные столбцы могут повторяться. Например:
1  Вася  20
2  Петя  30
3  Вася  20
Как удалить одинаковые записи (кроме N, так ка оно уникально) тоесть получить такое
1  Вася  20
2  Петя  30
или
2  Петя  30
3  Вася  20


Anatoly Podgoretsky   (2008-01-29 14:24:00) [1]

И установить уникальный индекс на Name, Money, а то будешь всю жизнь удалять.


ANB   (2008-01-29 13:20:00) [2]


> надо sql подучить

С этого надо начинать :)


dest81   (2008-01-29 13:15:00) [3]

Большое спасибо ! Работает! Видать надо sql подучить


ANB   (2008-01-29 13:03:00) [4]

delete from Table1 T where exists (select 1 from Table1 T1 where T1.Name = T.Name and T1.Money = T.Money and T1.N < T.N)

Так останутся тока записи с самыми маленькими Н. Дубли в большими Н удаляться.

ЗЫ. Повесь уникальный индекс / ключ, чтобы больше дублей не было


dest81   (2008-01-29 12:55:00) [5]

Это хотелось бы в FireBird-е сделать не через делфи


Наверх

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