Hvordan finder du ud af hvikle rækker der er dubletter og hvilke der er den/de række(r) der skal slettes ?
Er statuskode 0 den/de række(r) du vil beholde ?
Ja 0 er f.eks. dem jeg vil beholde. Jeg beyntter en dublet forspøgelse ganske normalt hvor der blot fremkommer en liste over alle poster med dubletter.
0 er det en værdi du har i tabellen
I givet fald kan du slette alle der er forskellig fra den værdi :
DELETE Tabel1.[Status kode], Tabel1.[Vej navn]
FROM Tabel1
WHERE (((Tabel1.[Status kode])<>0));
Ja det er jeg helt med på, og det er ingen problemer for mig at få slettet posterne. Problemet er at få dem givet statuskoder.
Lav et indeks så du får unikke poster, evt. et indeks indeholdende flere felter!~)
prøv flg...
1. opret en kolonne med unikke id værdier ([ID]), hvis du ikke allerede har det
2. delete from tabel1 where id not in (select min(id) from tabel1 group by [vej navn])
/Kim
Hej igen.
Mit problem er IKKE at få dem slettet da dette kun skal ske en gang. Mit problem er at få givet en status kode, så jeg kan sorterer hvad der skal slettes og ikke skat.
ok, så kan vi da rette den lidt til... :)
1. opret en kolonne med unikke id værdier ([ID]), hvis du ikke allerede har det
2. update tabel1 set [status kode]=0
3. update tabel1 set [status kode]=1 where id not in (select min(id) from tabel1 group by [vej navn])
/Kim
Beklager men jeg kan simpelthen ikke finde ud af det. Hvis jeg sender en database med noget test data er der så en der vil hjælpe mig?
ekspertenATsanthell.dk
AT = @
Skal du bruge 'status kode' eller er det bare for at kunne få de unikke rækker?
Hvis du bare skal have de unikke rækker kan du bruge Group By og First. Hvis du skal slette dubletterne, må du have nøglen med (f.eks. en autonummerering) og bruge First på den også. Eksempel, hvor jeg har taget AutoId med som nøgle:
SELECT First(Tabel1.AutoId) AS FørsteOfAutoId, First(Tabel1.[Vej Navn]) AS [FørsteOfVej Navn]
FROM Tabel1
GROUP BY Tabel1.[Vej Navn];
Denne giver:
FørsteOfAutoId FørsteOfVej Navn
5 Finsensvej 4
1 Roskildevej 143
Dette er de unikke. Hvis du vil slette dubletter, kan du søge de andre frem.
Ang: 28/02-2008 13:26:37
Har du prøvet at lave et indeks, du går ind i tabeldesign og i menulinjen, Vis/Indeks
Så fremkommer en lille tabel hvor du taster indeksnavn (du finder bare selv på et) og så skriver du det første felt, som skal indgå i dit indeks det kunne være Status kode, du skriver så ja til at det skal være Unikt indeks. Så hele pointen er at hvis du så laver en linie nedenunder, hvor du ikke skriver et indeksnavn, men kun udfylder feltnavn med Vej Navn, så opstår der et sammensat indeks hvor der kun tillades en udgave af hver kombination!~)
Den vil når du opretter den, sige at det vil betyde slettede data, så tag lige en backup først, men du siger ok og så skulle der kun være en udgave af kombinationen status kode/vej navn og fremover vil man ikke kunne komme til at oprette dubletter...
"Da opgaven virkelig haster så er der mange points i den." :o)