удаление дубликатов

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

удаление дубликатов

Сообщение Lepsik »

приехала таблица вида
create table lith( station int not null, from double not null, to double not null )

и надо бы все три поля сделать primary

insert into lith (station, from, to) values (1, 0, 5)
insert into lith (station, from, to) values (1, 5, 10)
insert into lith (station, from, to) values (1, 5, 10)
insert into lith (station, from, to) values (1, 10, 15)

как бы удалить 1,5,10 лишнее ?

понятно что сначала надо бы добавить в табличку
alter table lith add super_id int identity(1,1)

а дальше куда рыть ? с тремя-то полями ?
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Сообщение Lepsik »

andrew2 писал(а):delete from lith
where exists
(select 1 from lith l where
l.super_id > lith.super_id
and l.station = lith.station
and l.from = lith.from and l.to = lith.to)

Только названия полей мне твои не нравятся,
с reserved words не совпадают?
на самом деле там from_, to_

спасибо огромное
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

super_id дропнуть не забудь :)
Аватара пользователя
Lepsik
Житель
Сообщения: 522
Зарегистрирован: 17 фев 2003, 18:34
Откуда: Berlin
Контактная информация:

Сообщение Lepsik »

>>super_id дропнуть не забудь

обижаешь начальник :lol:
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

кто тебя знает. :lol:
Ответить