Výsledky 1 až 6 z 6

Téma: mssql - mazani duplicit

  1. #1
    Senior Member
    Založen
    24.10.2002
    Bydliště
    Praha
    Věk
    40
    Příspěvky
    721
    Vliv
    0

    Standardní mssql - mazani duplicit

    mam takovej problem, nacitam do databaze (zatim) 3 xls soubory, jedna se o seznam jmen a tel. cisel...problem je ze se logicky nektere zaznamy objevuji v databazi vicekrat - az 3x.
    potreboval bych tyhle duplicity smazat, problem je ze v tabulce nemam zadny klic... mate nekdo radu?
    Naposledy upravil pajkus; 24.10.2006 v 10:00.

  2. #2

    Standardní Re: mssql - mazani duplicit

    Pisu z hlavy, ale neco takoveho?
    Kód:
    delete from tab
    where col in 
      (select col, count(*)
       from tab
       group by col
       having count(*) > 1)
    Kde tab je tabulka a col sloupecek, kde lze duplicity najit.

  3. #3
    Senior Member
    Založen
    24.10.2002
    Bydliště
    Praha
    Věk
    40
    Příspěvky
    721
    Vliv
    0

    Standardní Re: mssql - mazani duplicit

    dobrej napad!

    ale: Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

    tyhle slozitejsi sql dotazy nepouzival

    EDIT: nebo lze pouze zapisovat data, ktery v tabulce nejsou ?
    pro upresneni - duplicitni je cely radek

    EDIT2:
    Kód:
    delete from zamestnanci
    where exists
      (select telefon, count(*)
       from zamestnanci
       group by telefon
       having count(*) > 1)
    mi logicky smaze vsechny, ktery nejsou primo 1 - ja bych potreboval od kazdyho radku zachovat 1 unikatni
    Naposledy upravil pajkus; 24.10.2006 v 10:29.

  4. #4

    Standardní Re: mssql - mazani duplicit

    Oops, nj Co takhle s mezi tabulkou? Sice imho trosku prasacke, ale funkcni.

    Kód:
    create table zamestnanci_2;
    insert into zamestnanci_2 from
       select *
       from zamestnanci
       group by telefon;
    drop table zamestnanci;
    rename table zamestnanci_2 to zamestnanci;
    Popr. create temporary table zamestnanci_2;, ale to nevim jestli mssql umi.

    PS: pisu v mysql syntaxi, do mssql to uz snad nejak napasujes

  5. #5
    Senior Member
    Založen
    24.10.2002
    Bydliště
    Praha
    Věk
    40
    Příspěvky
    721
    Vliv
    0

    Standardní Re: mssql - mazani duplicit

    mezitabulku jsem taky zkousel...ale byl by problem pri opakovanym spouteni...
    nakonec jsem to vyresil takhle:
    Kód:
    create unique index XX on zamestnanci (telefon,[jméno pracovníka],útvar,název,zařazení) with ignore_dup_key
    nevim jak je to cisty reseni, ale funguje to treba se to nekomu bude hodit

    kazdopadne diky Jediku, zase jsem se neco naucil

  6. #6

    Standardní Re: mssql - mazani duplicit

    Citace Původně odeslal pajkus Zobrazit příspěvek
    mi logicky smaze vsechny, ktery nejsou primo 1 - ja bych potreboval od kazdyho radku zachovat 1 unikatni
    Pravda

    Skus:
    Kód:
    DELETE FROM table a
    WHERE EXISTS (SELECT 1 FROM table b
                      WHERE a.COL1 = b.COL1
                      AND a.ROWID <> b.ROWID);
    COMMIT;
    Pricom ekvivalent rowid pre mssql si najdi v dukumentacii

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. Freeware na definitivni mazani jednotlivych souboru
    Založil Mikus v sekci fóra Programy a problémy s nimi
    Odpovědí: 2
    Poslední příspěvek: 18.03.2005, 11:02
  2. [Javascript, PHP] mazani formulare a odpovedi v guestbook
    Založil Miiisa v sekci fóra Programování
    Odpovědí: 31
    Poslední příspěvek: 23.10.2004, 19:26
  3. Mazani souboru na SD-krtach
    Založil Mikus v sekci fóra Ostatní hardware
    Odpovědí: 16
    Poslední příspěvek: 09.07.2004, 11:57
  4. [PHP] mazani session
    Založil Nicx v sekci fóra Programování
    Odpovědí: 2
    Poslední příspěvek: 28.02.2004, 18:01
  5. Mazani CMOS na MSI KT4V
    Založil vogo v sekci fóra VIA čipové sady
    Odpovědí: 1
    Poslední příspěvek: 30.10.2003, 15:44

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •