2016-03-31 2 views
0

Es wird angezeigt, dass der mehrteilige Bezeichner in der Verknüpfung nicht gebunden werden konnte. Bitte lassen Sie mich die Lösung wissen.Die mehrteilige ID "AD.primary_name" konnte nicht gebunden werden.

SELECT BI.bl_nbr, 
     BI.cv_nbr, 
     AD.acct_cv_id, 
     AD.primary_name, 
     BI.[primary], 
     CASE 
     WHEN Ltrim(Rtrim(AD.primary_name)) IS NULL THEN 
     Ltrim(Rtrim(BI.[primary])) 
     ELSE (AD.primary_name) 
     end 
FROM [dbo].[stg_acct_detail_us] AD, 
     [dbo].[stg_bi_fnl2] BI 
     JOIN [dbo].[stg_bi_fnl2] ON AD.primary_name = [dbo].[stg_bi_fnl2].[primary] 
where AD.acct_cv_id = BI.cv_nbr 
+3

Verwenden Sie Kommas im 'FROM' Klausel. * Verwenden Sie immer explizite 'JOIN'-Syntax. –

+0

Bereichsregeln. Join-Ketten werden vor kommagetrennten Tabellen ausgewertet. Die AD-Spalten sind noch nicht verfügbar. – jarlh

+0

Ersetze ', [dbo]. [Stg_bi_fnl2] BI' mit 'JOIN [dbo]. [Stg_bi_fnl2] BI ON AD.acct_cv_id = BI.cv_nbr' – JamieD77

Antwort

0
SELECT BI.bl_nbr, 
     BI.cv_nbr, 
     AD.acct_cv_id, 
     AD.primary_name, 
     CASE 
     WHEN Ltrim(Rtrim(AD.primary_name)) IS NULL THEN 
     Ltrim(Rtrim(BI.[primary])) 
     ELSE (AD.primary_name) 
     end 
FROM [dbo].[stg_acct_detail_us] AD 
     JOIN [dbo].[stg_bi_fnl2] BI ON AD.PRIMARY_NAME = BI.[primary] 
where AD.acct_cv_id = BI.cv_nbr 
Verwandte Themen