2016-03-31 23 views
0

'a bağlanamadı. Bu, çok parçalı tanımlayıcının birleştirmede bağlı hata bulunamadığını gösteriyor. lütfen çözümü bana bildirin."AD.primary_name" çok parçalı tanımlayıcısı,

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

'FROM' madde virgül kullanmayın. * Her zaman * açık 'JOIN' sözdizimini kullanın. –

+0

Kapsam kuralları. Katılma zincirleri virgülle ayrılmış tablolardan önce değerlendirilir. AD sütunları henüz mevcut değil. – jarlh

+0

yerine ', [dbo]. [Stg_bi_fnl2] BI' ile JOIN [dbo]. [Stg_bi_fnl2] BI AÇIK AD.acct_cv_id = BI.cv_nbr' – JamieD77

cevap

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 
İlgili konular