2017-02-09 2 views
-1

하위 쿼리 결과로 select 문에서 문자열을 바꾸려고합니다. 내 하위 쿼리 "AS Replacement"의 별칭이 있습니다. 그러나 외부 쿼리에서 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 
관련 문제