我需要返回一个字段' CreditAdvisor_PrimaryCode'来自数据库' DWH_Staging'其中一个领域' CooperationEndDate'来自数据库' DWH_Staging'没有匹配的领域' DatumUkonceni'来自具有变量名称的数据库。我们有一个程序' adm.MaxBatch'返回具有变量名称的数据库的实际名称。 我试过了:
DECLARE @db_is nvarchar(50)
SELECT @db_is = mb.DatabaseName
FROM adm.MaxBatch mb
WHERE mb.SourceID = 1
PRINT @db_is
SELECT
ca.CreditAdvisorCode_Primary
FROM
@db_is.CS_Prodejci prod
JOIN DWH_Staging.dim.CreditAdvisor ca
ON prod.KodOZ = ca.CreditAdvisorId
WHERE
prod.KonecCinnosti <> ca.CooperationEndDateId
任何帮助都将不胜感激。
答案 0 :(得分:0)
从变量中选择数据库时,您需要为Eg创建动态:
DECLARE @db_is nvarchar(50),@string NVARCHAR(MAX)
SET @string=' Select ca.CreditAdvisorCode_Primary
from '+@db_is+'..CS_Prodejci
JOIN DWH_Staging.dim.CreditAdvisor ca
ON prod.KodOZ = ca.CreditAdvisorId
WHERE prod.KonecCinnosti <> ca.CooperationEndDateId '
PRINT @string
EXEC(@string)