У меня есть фиксированный запрос, по которому я могу добавить только новые столбцы, скажем так:
SELECT '1', '2' , 'Place I can insert my subquery1', 'Place I can insert my subquery1'
FROM FixedQueryTable
У меня также есть таблица со столбцом, в котором хранятся некоторые значения, и еще одна, в которой хранится имястолбцы, из которых мне нужно получить другие значения.
TABLE1
----------------------------
ValuesColumn | NameColumn
_________________________
Val1 | Col1
Val2 | Col2
Val3 | Col3
Table2
----------------------------
Col1|Col2|Col3
______________
Val4|Val5|Val6
Теперь я хочу вернуть
1|2|Val1Val4|Val2Val5|Val3Val6
Я написал это
declare @qry nvarchar(max) =
'SELECT top 1 ' +
STUFF((
SELECT ', ' +''''+ ValueColumn +'''+ CONVERT(NVARCHAR,' +NameColumn +') '
FROM Table1
FOR XML PATH('')
), 1, 1, '') + ' FROM Table2'
select @qry
execute sp_executesql @qry
И он прекрасно работает как отдельный, но я не могу использовать его для возврата результата из функции, и я не могу использовать его напрямую как подзапрос (очевидно, exec и т. Д.). Знаете ли вы, что я мог сделать?