Имя столбца переменной SQL зависит от данных строки - PullRequest
1 голос
/ 25 июня 2010

Я пытаюсь получить столбец из БД, который возвращает переменное имя столбца, которое зависит от данных строки. Я знаю, что могу использовать переменную имя столбца с помощью динамического SQL, но что, если имя на самом деле зависит от информации строки.

SELECT name,age FROM dbo.Names                           

- возвращает имя в качестве имени столбца

SELECT name as [xyz],age FROM dbo.Names                 

- возвращает 'xyz' в качестве имени столбца

EXEC 'SELECT name as [' +  @var + '], age FROM dbo.Names'

- возвращает значение @var в качестве имени столбца

SELECT name AS ['Hi: ' + age ] FROM dbo.Name ?????       

- поэтому я пытаюсь получить «Hi: 25» или «Hi: 40» в качестве имени столбца

Как бы я это сделал? Любая помощь, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 25 июня 2010

Вы можете комбинировать подходы для одной строки, но не для выбора всех строк:

DECLARE @age INT
SET @age = SELECT TOP 1 @age FROM dbo.NAMES
EXEC 'SELECT name as [Hi ' +  @age + '], age FROM dbo.Names'

Почему вам нужно делать это в SQL, а не в логике приложения?

0 голосов
/ 26 июня 2010

Мне придется изменить на стороне приложения. Я не думаю, что это возможно изменить в стороне SQL. Эта логика работает только для 1 строки, мне нужно несколько строк.

...