2017-02-09 18 views
-1

Я пытаюсь заменить строку в выражении select результатом подзапроса. У меня есть псевдоним для моего подзапроса «AS Replacement». Однако, когда я использую replace.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 

replace.firstname в первой строке не найден intellisense.

ответ

1

Просто поместите вложенный запрос в функцию Replace ...

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

 Смежные вопросы

  • Нет связанных вопросов^_^