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.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?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.pldoc.pisz.plpdf.pisz.pllubiatowo.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 |
|