|
|
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2002, 12:08:04 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
Воспользуйся визадом в Access для нахождения оных и удали TOP 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2002, 12:09:55 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2002, 12:18:44 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
Ну во первых твой запрос удалит (ИМХО) только первую запись в таблице, а никак не дубли. Во вторых - напиши запрос и сунь его в Execute SQL Task. Где проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2002, 12:26:23 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
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". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 02:43:39 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
Если есть автоинкремент - то достаточно просто: 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 - по желанию. Успехов. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 20:29:58 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
Для начала: 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 ) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2002, 01:08:22 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
Да уж, лишние возможности только отбивают желание думать головой. Откуда такое непреодолимое желание использовать конструкцию 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 Надо наверное добавить, что без ключевого поля здесь не обойтись в любом случае - записи же должны как-то отличаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2002, 09:37:12 |
|
||
|
Delete Duplicates
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2002, 13:33:23 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1822340]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
903ms |
get topic data: |
7ms |
get first new msg: |
3ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 1167ms |

| 0 / 0 |
