2017-02-09 79 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