Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Удаление дублирующих записей   Найти похожие ветки 

 
Os ©   (2006-02-20 09:33) [0]

Имеем таблицу типа
Id Key Val1 Val2
1   2     3     10
2   2     4      null
3   2     5      null
4   2     3      null

Запись val2 делается для всех одинаковых Key
Update table set val2=10 where Key=2

Как с min затратами оставить только запись в котой Val1 min, а остальные записи удалить


 
Johnmen ©   (2006-02-20 10:27) [1]

DELETE FROM Table WHERE Val1 <> (SELECT MIN(Val1) FROM Table)


 
Os ©   (2006-02-20 10:42) [2]


> DELETE FROM Table WHERE Val1 <> (SELECT MIN(Val1) FROM Table)


Можна вставить в триггер?


 
ЮЮ ©   (2006-02-20 10:42) [3]


> Как с min затратами оставить только запись в котой Val1
> min,


1   2     3     10
4   2     3      null

А что по-твонму меньше, 10 или NULL


> WHERE Val1 <> (SELECT MIN(Val1) FROM Table)


Не учитывается Key


 
Os ©   (2006-02-20 10:50) [4]

null является признаком для добавления записей


 
ЮЮ ©   (2006-02-20 10:53) [5]

А что по-твонму меньше, 10 или NULL
сорри, не обратил внимание, что c минимальным Val1


> Можна вставить в триггер?


Зачем тогда вставлять записи, которые тут же могут быть убиты триггером? Может тогда делать Update?


 
Os ©   (2006-02-20 10:57) [6]

Записи поступают от источника состояния объекта и там возможны различные варианты перехода, и лишние записи необходимо убить, оставив максимальное время отказа.


 
Johnmen ©   (2006-02-20 11:00) [7]

>Можна вставить в триггер?

Можна. Но не нужно...
Ты скажи, в чём проблема-то?

>ЮЮ ©   (20.02.06 10:42) [3]
>> WHERE Val1 <> (SELECT MIN(Val1) FROM Table)
>Не учитывается Key

Ну и что?


 
Os ©   (2006-02-20 11:01) [8]

Обсуждение закрыто. Спасиба за участие. Действительно проще создать уникальный индекс и не допускать создание таких записей.



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

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
4-1138459145
maxim161
2006-01-28 17:39
2006.04.16
Отправка сообщений процессу


15-1143142521
Anonym
2006-03-23 22:35
2006.04.16
Программы для МК-52/61


4-1138514926
maxim161
2006-01-29 09:08
2006.04.16
ProcessHandle


2-1143717391
sanich
2006-03-30 15:16
2006.04.16
Cross-отеты в Fast Report


8-1132159663
Neville
2005-11-16 19:47
2006.04.16
Как остановить звук (Wave)?