2017-02-09 115 views
-1

我想用子查询的结果替换select语句中的字符串。我有一个别名为我的子查询“AS替换”。但是,当我在外部查询中使用replacement.firstname时,无法找到它。以下是我的查询:无法将子查询别名与外部查询绑定

SELECT REPLACE('##RecipientFirstName##', 'RecipientFirstName', replacement.firstname) 
(
SELECT p.FirstName 
FROM dbo.Person p 
WHERE p.PersonId = 16 
) 
AS replacement 

FROM dbo.MessageTypeGlobal mtg 
WHERE mtg.MessageTypeGlobalId = 1 

第一行中的replacement.firstname未被intellisense找到。

回答

1

只要把子查询到的替换功能...

SELECT REPLACE('##RecipientFirstName##', 'RecipientFirstName',(SELECT p.FirstName FROM dbo.Person p WHERE p.PersonId = 16))  
FROM dbo.MessageTypeGlobal mtg 
WHERE mtg.MessageTypeGlobalId = 1