2017-10-09 1 views
1

Je reçois cette erreur après avoir exécuté la requête. Les deux tables ont une colonne ID. J'utilise Microsoft SQL Server 2012Obtenir L'identificateur en plusieurs parties n'a pas pu être lié erreur dans SQL Server 2012

Msg 4104, niveau 16, état 1, ligne 1
L'identifiant multi-partie "CDATA.ID" ne pouvait pas être lié.

code:

INSERT INTO CDATA(Name, Mobile, Email, [Address], [Date]) 
    SELECT Name, Mobile, Email, [Address], [Date] 
    FROM CustomerData 
    WHERE CustomerData.ID != CDATA.[ID] 

Répondre

3

Pour vérifier si l'enregistrement existe déjà dans le tableau vous pouvez utiliser NOT EXISTS:

INSERT INTO CDATA(Name, Mobile, Email, [Address], [Date]) 
SELECT Name, Mobile, Email, [Address], [Date] 
FROM CustomerData 
WHERE NOT EXISTS (SELECT 1 FROM CData WHERE CustomerData.ID = CDATA.[ID]); 

Alternativement EXCEPT:

INSERT INTO CDATA(Name, Mobile, Email, [Address], [Date]) 
SELECT Name, Mobile, Email, [Address], [Date] 
FROM CustomerData 
EXCEPT 
SELECT Name, Mobile, Email, [Address], [Date] 
FROM CDATA;