Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

'Dubbele' records in 1 tabel [SQL -MS Access] verwijderen

Anoniem
None
8 antwoorden
  • Hoi,

    Een tabel heb ik geimporteerd vanuit Excel, maar in dat (adres)bestand zijn bepaalde records dubbel ingevoerd. D.w.z. bij de 1 wordt er bijvoorbeeld een hoofdletter gebruikt. Het zijn dus verschillende records maar eigenlijk zijn ze gelijk. Mijn vraag: hoe kan met een SQL-query het ene record met een andere in 1 tabel vergelijken, zodat er 1 eventueel verwijderd kan worden?

    M.vr.gr., Dalertje
  • delete from 1tabel x
    where 2 = (select count(*) from 1tabel y where upper(y.naam) = upper(x.naam))


    syntax eventueel aanpassen volgens 'access'-syntax


    Succes!
  • met de functie UPPER bijboorbeeld?

    UPPER('Ikke') is gelijk aan UPPER('IKKE') namelijk beide IKKE :)


    google
  • 2 hetzelfde idee! abraracourcix was sneller :)
  • Hoi,

    Sorry abraracourcix, maar ik begrijp het statement niet. Zou je je statement iets verder kunnen uitleggen? Daarnaast gaf ik als voorbeeld op dat een hoofdletter gebruikt wordt. Er zijn ook andere fouten, zoals spatie teveel.
    Het lijkt erop dat de postcode wel telkens juist is ingevuld. Als ik de tabel nu daarop aflopend sorteer dan wil ik het voor elkaar krijgen dat, indien het geselecteerde record gelijk is aan de vorige (dus postcode is gelijk aan de vorige postcode), een record verwijdert wordt. Hoe pak ik dit in SQL aan?

    M.vr.gr, Dalertje
  • Op postcode??
    Dan zou er wel eens niet veel meer kunnen overschieten…
    Als je het echt wil vervang je 'waar ik naam schreef' door postcode.

    Mijn statement verwijdert records, waarvan in de kolom 'naam' meer dan 1 zelfde waarde in zit, en dit totdat er maar eentje meer overschiet.

    Spaties te veel… tja, er zijn alle soorten functies. Ik voorkwam case-sensitiveness.
  • Hoi,

    Tja. Ik denk dat je wel weet dat je me niet hoeft te vertellen dat naam in het statement verandert moet worden. Ik heb alleen niet veel kennis van SQL. Vandaar dat ik vroeg om uitleg.

    M.vr.gr., Dalertje
  • Hoi,

    Abraracourcix of Error404, misschien een domme vraag hoor, maar is '1tabel' een letterlijk statement? Dat bedoel ik met eventueel verder uitleggen.

    M.vr.gr., Dalertje

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.