ďťż
 
kasowanie ďťż
 
kasowanie
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

kasowanie



flatplanet - 11-05-2007 12:33
kasowanie
  witam,

mam taki problem:

tabela account z polem [name] PK nvarchar
oraz pole [mdata] okreslajaca date wstawienia rekordu
rekordy w polu [name] i [mdata] zawieraja miedzy innymi:
Test - 2006-01-01
TEST - 2007-05-05
TeSt - 2007-05-06

poniewaz chcialby wylaczyc na pole [name] case sensitive musz skasowac
nadmiarowe rekordy.
chcialbym pozostawic najstarszy rekord.... oczywiscie wpisów jest tysiace i
nie wiem które się powtarzają

mecze sie juz kolo 3h...i nic

prosze help!





Bartek Dajewski - 11-05-2007 12:33

  Cześć.

Użytkownik "flatplanet" <admin@usun_flatplanet_usun.pl> napisał w
wiadomości news:f1q4b7$9ok$1@news.dialog.net.pl...
> witam,
>
> mam taki problem:
>
> tabela account z polem [name] PK nvarchar
> oraz pole [mdata] okreslajaca date wstawienia rekordu
> rekordy w polu [name] i [mdata] zawieraja miedzy innymi:
> Test - 2006-01-01
> TEST - 2007-05-05
> TeSt - 2007-05-06
>
> poniewaz chcialby wylaczyc na pole [name] case sensitive musz skasowac
> nadmiarowe rekordy.
> chcialbym pozostawic najstarszy rekord.... oczywiscie wpisów jest tysiace
i
> nie wiem które się powtarzają

Nie napisałeś jaka to baza. MSSQL?

Zakładam, że masz jakiś klucz główny w tej tabeli (np. [id]) i dane "po
polsku". Wtedy np.:

select min(id)
from account
group by name collate polish_ci_as, mdata

zwróci [id] tych rekordów, które należy pozostawić w tabeli, żeby można
było zdjąć klauzulę CS, ale pozostawi wszystkie daty. Ale już:

delete from account
where id not in
(select top 1 id
from account a
where a.name collate polish_ci_as = accout.name collate polish_ci_as
order by mdata)

zrobi porządek, o którym pisałeś.

PS. Pisane "z głowy", więc sprawdź to proszę przed użyciem. Choćby tak:

select *
from account
where id in
(select top 1 id
from account a
where a.name collate polish_ci_as = accout.name collate polish_ci_as
order by mdata)

^^^ te rekordy pozostaną, a po zmianie "in" na "not in" możesz przejrzeć
te, które zostaną usunięte.
--
Pozdrawiam :-)
Bartek
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?ISO-8859-2?Q?[Oralce]_Jak_sprawdzi=E6_d?= =?ISO-8859-2?Q?ok=B3adn=B1_wersj=EA_binari=F3w=3F?= Przesiadka na MySQL 5 i problem. Uciecie znakow w zapytaniu SQL [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= SiteGrinder Łączenie tylko kilku kolumn z większych tabel [mysql 4.1] lost in collation MySQL 5.0.22 - problem z =?ISO-8859-2?Q?sk=B3adni=B1_=28chyba=29?= [MySql] pytanie o relacje, JOIN Elektroniczny system ewidencji dokumentacji
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lubiatowo.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com