2014-07-08 2 views
3

J'ai cette requête que je crée, mais je suis coincé avec cette erreur:T-SQL L'identifiant plusieurs parties ne pouvait être liée

[tâche d'exécution SQL] Erreur: L'exécution de la requête « Mettre à Jour Tech_Helpline .dbo.Calls SET Tech_Helpline.d ... "a échoué avec l'erreur suivante:" L'identificateur en plusieurs parties "LampsGarLive.dbo.i8pupu_Tech Hotline Primary Members.AssociationName" n'a pas pu être lié. ". Raisons d'échec possibles: Problèmes avec la requête, propriété "ResultSet" non définie correctement, paramètres non définis correctement ou connexion non établie correctement.

Ces deux tables proviennent de bases de données distinctes (dans le même SQL Server). Ce que je tente de faire est de fusionner les noms AssociationNames de la table i8pupu (colonne NomAssociation) à la table des appels (colonne Association) où (Calls.NRDS = [Membres principaux de la hotline i8pupu_Tech] .NRDSMember_id). Je dois conserver toutes les lignes de la table des appels.

Remarque: Je place ce code dans un package SQL Server 2008R2 SSIS à l'aide de l'outil Tâche d'exécution SQL.

UPDATE Tech_Helpline.dbo.Calls 
SET Tech_Helpline.dbo.Calls.Association = LampsGarLive.dbo.[i8pupu_Tech Hotline Primary Members].AssociationName 
FROM Tech_Helpline.dbo.Calls As T1 
LEFT JOIN LampsGarLive.dbo.[i8pupu_Tech Hotline Primary Members] AS T2 
ON T1.NRDS = T2.NRDSMember_id 

Quelqu'un veut m'aider avec ça? Merci pour l'aide!

Josh

Répondre

3

Utilisez l'alias:

UPDATE T1 
SET T1.Association = T2.AssociationName 
FROM Tech_Helpline.dbo.Calls As T1 
     LEFT JOIN LampsGarLive.dbo.[i8pupu_Tech Hotline Primary Members] AS T2 
ON T1.NRDS = T2.NRDSMember_id 
+0

Merci pour l'aide. J'ai fait les changements. Le code est plus propre, mais je reçois cette erreur maintenant: [Exécuter une tâche SQL] Erreur: L'exécution de la requête "UPDATE T1.Calls SET T1.Association = T2.Associatio ..." a échoué avec l'erreur suivante: "Nom d'objet non valide 'T1.Calls'. ". Raisons d'échec possibles: Problèmes avec la requête, propriété "ResultSet" non définie correctement, paramètres non définis correctement ou connexion non établie correctement. –

+0

Je le fais dans un package SQL Server 2008R2 SSIS à l'aide de l'outil Exécuter une tâche SQL. Cela fera-t-il une différence? –

+0

Je pense que vous avez pris la question avant ma modification. Il devrait être 'UPDATE T1 ..' ** PAS **' UPDATE T1.Calls ..' – Kaf

Questions connexes