powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delete Duplicates
9 сообщений из 9, страница 1 из 1
Delete Duplicates
    #32032570
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vsem privet,
podskazite pozaluista, kak udalit dvoinie strochki iz tablici (pomnu gde-to bilo no naiti ne mogu, esli ne v lom pomogite).
U menia posle vibora vot etoi query vidaet neskolko strok u kotorih "count" >2:
select Col1 ,Col2,count(Col1)from Table1
group by Col1,Col2
having count(Col1)>1

Esli pitaus udalit delitom, to udaliaet vse, a mne nuzno, chtobi odna stroka ostalas.

Spasibo vsem
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032571
gena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воспользуйся визадом в Access для нахождения оных и удали TOP 1
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032572
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spasibo Gena, no delo v tom cto eta operacia chast DTS Packaga, i eto delo nuzno avtomatizirovat.
Naprimer, esli bi eto mozno bilo sdelat rukami, to delau obichno tak:
set rowcount 1
delete from table1 where Col1 ='Name'.
Kak eto sdelt v DTS Pkacge.
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032574
gena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну во первых твой запрос удалит (ИМХО) только первую запись в таблице, а никак не дубли. Во вторых - напиши запрос и сунь его в Execute SQL Task. Где проблема-то?
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032605
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Moi zapros udaliaet odnu zapis iz odnogo dublia, t.k. ia ukazivau parameter : delete from table1 where Col1 ='Name'.
A esli u menia 5 par dublei?
Chto mozno zaprs zasunut v DTS - poniatno, mne nuzen etot zapros, kotorii udalit po odnomu(ili skolko budet) iz kazdogo dublia i ostavit tolko odin dlia etogo "Name".
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032714
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть автоинкремент - то достаточно просто:

delete from Table1 from Table1 t1
inner join
(select Col1,Col2,max(ID) as ID from Table1
group by Col1,Col2
having count(Col1)>1) t2 on t2.col1=t1.col1 and t2.col2=t1.col2 and t1.id<>t2.id

вместо max можно min - по желанию.

Успехов. :)
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032731
Кенгуру
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для начала:
delete from YourTable
where rowid in (
( selecta.rowid rid
from YourTable a ,
( select Col1,Col2 from YourTable
group by Col1, Col2
having count(0)>1 ) b
where a.Col1= b.Col1 anda.Col2= b.Col2
)
minus
( select min(rid)
from
(
selecta.rowid rid ,a.Col1,a.Col2
from YourTable a ,
(select Col1,Col2 from YourTable
group by Col1, Col2
having count(0)>1
) b
where a.Col1= b.Col1 and a.Col2= b.Col2
)
group by Col1 , Col2
)
)
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032747
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, лишние возможности только отбивают желание думать головой. Откуда такое непреодолимое желание использовать конструкцию from (select ...) ? Всё же проще делается


declare @Table1 table(id int identity, Col1 int,Col2 int)
insert @Table1 select 1,1
insert @Table1 select 1,1
insert @Table1 select 1,1
insert @Table1 select 1,2




delete t1
from @Table1 t1,@Table1 t2
where t1.Col1=t2.Col1 and t1.Col2=t2.Col2 and t1.id>t2.id

select * from @Table1

Надо наверное добавить, что без ключевого поля здесь не обойтись в любом случае - записи же должны как-то отличаться
...
Рейтинг: 0 / 0
Delete Duplicates
    #32032877
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Spasibo.
Poprobuu zavtra.
A ia sdelel tak, hotia navernoe moi put ne proffesionalen.
Snachala delau insert distinct(po imeni), zatem delau update i zagoniau sootvetstvuushe znachenia iz ostalnih colonok, vrode rabotaet.
No variant s identity, dumau luche.
Eshe raz vsem spasibo.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Delete Duplicates
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]