Форум: "Базы";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
ВнизУдаление дублирующих записей Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c