Если я понимаю ваш вопрос, вы хотите динамически заполнить шаблон с помощью макроподстановки
Пример
-- Create some Sample Data
Declare @getEmailSignatureDetails Table ([addCity] varchar(50),[addLine] varchar(50),[addSt] varchar(50),[addZip] varchar(50),[fName] varchar(50),[lName] varchar(50))
Insert Into @getEmailSignatureDetails Values
('San Francisco','777 SV Lane','CA',94016,'Jane','Doe')
Declare @getFeaturedAccount Table ([month] varchar(50),[img] varchar(50))
Insert Into @getFeaturedAccount Values
('June','base64..')
-- Declare the Template
Declare @Template varchar(max) ='
Your package has been delivered to
@fName @lName
@addLine
@addCity @addSt, @addZip
@img
'
-- Populate the Template
Select @Template = replace(@Template,'@'+Field,Value)
From (
Select C.*
From (values (convert(XML,(Select * From @getEmailSignatureDetails Join @getFeaturedAccount on [month]='June' For XML Raw ) ) ) ) A(XMLData)
Cross Apply (
Select Field = a.value('local-name(.)','varchar(100)')
,Value = a.value('.','varchar(max)')
From A.XMLData.nodes('/row') as C1(n)
Cross Apply C1.n.nodes('./@*') as C2(a)
Where a.value('local-name(.)','varchar(100)') not in ('Column1','Column2')
) C
) A
Обновленный шаблон
Your package has been delivered to
Jane Doe
777 SV Lane
San Francisco CA, 94016
base64..
Если это помогает с визуализацией, подзапрос является «динамическим» разворотом и генерирует следующее:
Field Value
addCity San Francisco
addLine 777 SV Lane
addSt CA
addZip 94016
fName Jane
lName Doe
month June
img base64.. -- (presumably would be the image)