Ich habe einige doppelte Mail in meiner Datenbank, aber ich kann es nicht entfernen. Ich möchte ein Feld auswählen, aber ohne doppelte Mail.Wie kann ich eine eindeutige mit mehreren Feld
Ich habe eine Anfrage wie folgt aus:
SELECT
DISTINCT MAIL,
ID,
CIVILITE,
PRENOM,
NAME
FROM CONTACT WHERE CODE_PAYS = 'DE'
Wenn ich diese Anfrage zu starten, meine doppelte Werte auf Mail sind bereits hier.
Wissen Sie, wie kann ich das tun?
aktualisieren: Ich habe this Ansatz versucht, aber ich brauche es in einer Ansicht zu verwenden:
ALTER VIEW ALL_VW_CONTACT_DE WITH SCHEMABINDING
AS
with cte as
(
select rn = row_number() over (partition by c.Mail Order By c.Id asc), c.Mail, c.Id, c.Civilite, c.Prenom, c.Name
from dbo.CONTACT c
where code_pays = 'DE'
)
select Mail, Id, Civilite, Prenom, Name
from cte
where rn = 1
Aber dies nicht funktioniert, ich diesen Fehler:
Cannot schema bind view 'MY_TABLE' because name 'CONTACT' is invalid for schema binding. Name must be in two-part format and an object cannot reference itself
Hinzufügen der erwarteten Daten der Beispieldaten –
Distinct wird auf alle Felder angewendet. Nicht nur der neben ihm. So stellt es sicher, dass nur eine Zeile dieselbe Mail-, ID-, Civilite-, Prenom-, Name-Kombination hat. – litelite
ist es möglich, eine DISTINCT nur auf meine Feldpost hinzuzufügen? – dutycorpse