我有一个html字符串存储为记录:
<div>
<p>##RecipientFirstName##,</p>
<p>##CustomerProjectOwnerName## with ##CustomerName## has approved your...</p> </div>
我想用哈希表中存储的实际名称替换哈希标签内的项目。我试过这个,但它返回3个不同的记录。我需要返回一条记录,其中哈希标记内的项目替换为Replace语句。我的代码:
SELECT mtg.Template, REPLACE(mtg.Template, '##RecipientFirstName##',(SELECT p.FirstName FROM dbo.Person p WHERE p.PersonId = 16)) ,
REPLACE(mtg.Template, '##CustomerProjectOwnerName##',(SELECT p.FirstName FROM dbo.Person p WHERE p.PersonId = 16))
FROM dbo.MessageTypeGlobal mtg
WHERE mtg.MessageTypeGlobalId = 1
答案 0 :(得分:1)
我认为这就是你要做的事情(如果你需要不同的子查询):
AllowFocusOnInteraction="False" IsDoubleTapEnabled="False" IsHitTestVisible="False" IsHoldingEnabled="False" IsRightTapEnabled="False" IsTapEnabled="False"
答案 1 :(得分:1)
您需要嵌套替换语句:
SELECT REPLACE(
REPLACE(mtg.Template, '##RecipientFirstName##', p.FirstName),
, '##CustomerProjectOwnerName##', p.FirstName)
FROM dbo.MessageTypeGlobal mtg
CROSS APPLY
(
SELECT FirstName FROM dbo.Person WHERE PersonId = 16
) p
WHERE mtg.MessageTypeGlobalId = 1
我使用了交叉应用来防止需要一遍又一遍地编写子查询。