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!