Можем ли мы использовать вывод запроса Select в качестве псевдонима столбца - PullRequest
0 голосов
/ 13 апреля 2011

мне нужен вывод операторов select в качестве псевдонима столбца

возможно ли

примеры

select columnname as (select value from tablename)  from tablename

выход

значения

1

2

3

Ответы [ 3 ]

1 голос
/ 13 апреля 2011

нет, вы не можете, посмотрите это:

declare @a table (rowvalue varchar(20))
insert @a values ('aaa')
insert @a values ('bbb')
insert @a values ('ccc')
insert @a values ('ddd')

declare @x table (id int,rowvalue varchar(20))
insert @x values (1, 'wowwee')
insert @x values (2, 'noooo!')

select a.rowvalue as  (select rowvalue from @x where id=1)
    from @a a

ВЫХОД:

Msg 102, Level 15, State 1, Line 11
Incorrect syntax near '('.
Msg 156, Level 15, State 1, Line 12
Incorrect syntax near the keyword 'from'.

вам придется использовать динамический sql для этого.1009 * РЕДАКТИРОВАТЬ , чтобы показать динамический sql:

declare @SQL varchar(500)
       ,@ColumnName varchar(20)
create table #a  (rowvalue varchar(20))
insert #a values ('aaa')
insert #a values ('bbb')
insert #a values ('ccc')
insert #a values ('ddd')

declare @x table (id int,rowvalue varchar(20))
insert @x values (1, 'wowwee')
insert @x values (2, 'noooo!')

SELECT @ColumnName=rowvalue FROM @x where id=1

set @SQL='select a.rowvalue as '+@ColumnName+' from #a a'
exec(@SQL)

ВЫХОД:

wowwee
--------------------
aaa
bbb
ccc
ddd

(4 row(s) affected)
0 голосов
/ 13 апреля 2011

Я думаю, что вы должны выйти из слова AS в TSQL, я имею в виду:

select column name (select value from tablename) from tablename
0 голосов
/ 13 апреля 2011

Попробуйте это

Выберите (выберите значение из имени таблицы) в качестве имени столбца из имени таблицы

Результат должен выглядеть следующим образом:

Имя столбца - 1 - 2 - 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...