Home / T-SQL / Dubbele rijen vinden

Dubbele rijen vinden

Iedere rij in een tabel wordt gekenmerkt door een primaire sleutel. Nu komt het nog weleens voor dat in je systeem de sleutel twee keer voorkomt. Dit mag eigenlijk niet. Met deze simpele Query kun je snel dubbele rijen vinden in je tabel!


Onderstaande Query toont aan hoe je dubbele medewerkers kunt vinden, gebaseerd op EMPLOYEENUMBER. Dit zou de primaire sleutel moeten zijn uit de bron.

SELECT DISTINCT
EMPLOYEENUMBER
FROM    EMPLOYEES
GROUP BY EMPLOYEENUMBER
HAVING  COUNT(EMPLOYEENUMBER) > 1<span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; white-space: normal;"> </span>

Vervolgens wil je deze dubbele nummers vaak niet meenemen bij het laden van je data. Met onderstaande QUERY kun je dubbele medewerkers filteren.

SELECT  *
FROM    (
SELECT EmployeeNumber,
ROW_NUMBER() OVER (PARTITION BY EMPLOYEENUMBER ORDER BY EMPLOYEENUMBER ASC) AS Rij
FROM   EMPLOYEES AS LM
) AS X
WHERE   X.Rij <= 1

Wat we hier doen is een rijnummer toevoegen per uniek EmployeeNumber. Als een nummer twee keer voorkomt krijgt deze rijnummer 2. Vervolgens halen we alle rijen met het getal > 1 weg!

Check Also

Book Review: Unlocking the Power of DAX: A Deep Dive into Marco Russo’s Definitive Guide

The Definitive Guide to DAX: Business intelligence for Microsoft Power BI, SQL Server Analysis Services, …

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *