Sql server 2008 r2 联接中的复合列无法在新服务器上工作

Sql server 2008 r2 联接中的复合列无法在新服务器上工作,sql-server-2008-r2,Sql Server 2008 R2,这仅在新服务器上的子查询中失败。单独作为一个查询运行良好 原始代码只是一组复合列被注释掉。现在需要将前三个空格串起来,然后是第二组9个空格 FROM PHOENIX.RingDWStaging.dbo.cSalesBudgetInfo AS cSalesBudgetInfo_1 INNER JOIN PHOENIX.RingDWStaging.dbo.DimBusinessPartners AS DimBusinessPartners_1

这仅在新服务器上的子查询中失败。单独作为一个查询运行良好

原始代码只是一组复合列被注释掉。现在需要将前三个空格串起来,然后是第二组9个空格

FROM   PHOENIX.RingDWStaging.dbo.cSalesBudgetInfo AS cSalesBudgetInfo_1 
  INNER JOIN
             PHOENIX.RingDWStaging.dbo.DimBusinessPartners AS DimBusinessPartners_1 
             ON cSalesBudgetInfo_1.BusinessPartnerID = DimBusinessPartners_1.BusinessPartnerID 
  INNER JOIN dbo.Accounts 
           --ON DimBusinessPartners_1.Division + DimBusinessPartners_1.BusinessPartner = dbo.Accounts.BusinessPartner
             ON DimBusinessPartners_1.Division = LEFT(dbo.Accounts.BusinessPartner, 3) 
             AND DimBusinessPartners_1.BusinessPartner = RIGHT(dbo.Accounts.BusinessPartner, 9) 
这是每晚在数据仓库报告中使用的较大视图的一部分


知道为什么吗?此帐户表在两台服务器中都是相同的。

什么是“失败”意思?您是否得到错误、无结果或错误结果?您说查询本身工作,但不是作为子查询:您能显示您正在执行的实际完整查询吗?抱歉,忘记了:Msg 8180,16级,状态1,第1行语句无法准备。Msg 4104,级别16,状态1,第1行无法绑定多部分标识符“Tbl1007.BusinessPartner”。Msg 4104,级别16,状态1,第1行无法绑定多部分标识符“Tbl1007.BusinessPartnerID”。Msg 4104,级别16,状态1,第1行无法绑定多部分标识符“Tbl1003.Division”。Msg 4104,级别16,状态1,第1行无法绑定多部分标识符“Tbl1001.MTDBudgetAmount”。子查询未生成其架构,我相信当该连接失败并抛出查询中所有表的引用时。请更新您的问题,阅读注释中的代码或错误是非常困难的,无论如何,你应该把所有相关信息都放在问题中。正如我所说,请包括完整的查询,而不仅仅是部分查询。您发布的错误消息与问题中的查询片段不匹配,例如where is
MTDBudgetAmount
,可能会有所帮助