Пожалуйста, смотрите ниже SQL:Динамический SQL конкатенации строк
declare @TableName VarChar(100)
declare @field1 varchar(100)
declare @field2 varchar(100)
set @TableName = 'Person.Person'
set @field1 = 'LastName'
set @field2 = 'FirstName'
Declare @SQL VarChar(1000) SELECT @SQL = 'SELECT ' + @field1 + ',' + @field2 + ' FROM '
SELECT @SQL = @SQL + @TableName
Exec (@SQL)
Результирующий набор появляется в двух столбцах т.е. Firstname и фамилия. Можно ли объединить столбцы, чтобы выход выглядел следующим образом?
Ian,McFearce
Jane,McAndrew
Я нашел цитату на этом сайте: http://technet.microsoft.com/en-us/library/ms188001.aspx, в котором говорится: «конкатенации двух строк с помощью оператора +, не допускаются». Поэтому я подозреваю, что это невозможно. Есть ли обходной путь.
ur sql необходимо выбрать фамилию + ',' + имя от лица – mhn
Откуда берется '@ TableName'? Почему ваша система разработана так, чтобы люди могли выбирать любые столбцы из любой таблицы? –
@ Аарон Бертран, система ищет несколько локальных баз данных, которые имеют разные схемы. Имеет ли это смысл? – w0051977