Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 можно ли обратиться к колонке по ее номеру в таблице?  [new]
tchn
Member

Откуда:
Сообщений: 50
можно ли обратиться к колонке по ее номеру в таблице?
например, что-то вроде
select col_by_num(1) from table1...
ну или что-нибудь в этом роде
27 янв 04, 11:13    [508065]     Ответить | Цитировать Сообщить модератору
 Re: можно ли обратиться к колонке по ее номеру в таблице?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
А для чего? Всмысле, какая задача решается?
27 янв 04, 11:19    [508082]     Ответить | Цитировать Сообщить модератору
 Re: можно ли обратиться к колонке по ее номеру в таблице?  [new]
tchn
Member

Откуда:
Сообщений: 50
ну если я заранее не знаю, из какой колонки нужно выбирать данные, а номер колонки вычисляется в хранимке.
допустим.
..
create table t1 (f1 int,f2 int)
..
хранимка:
..
create sp_s1 fieldnum int
as
select <вот здесь нужно указать номер колонки fieldnum) from t1

т.е. должно выбираться f1 или f2, в зависимости от того, что будет на входе хранимки: 1 или 2
27 янв 04, 11:26    [508098]     Ответить | Цитировать Сообщить модератору
 Re: можно ли обратиться к колонке по ее номеру в таблице?  [new]
KOLCHOZ_POSTEVENT
Guest
Например

create view v_numerucha([1],[2],[3])
as
select name ,id,xtype
from dbo.sysobjects
go
select [1],[2],[3]
from v_numerucha
where [3]='U'
go
27 янв 04, 11:36    [508124]     Ответить | Цитировать Сообщить модератору
 Re: можно ли обратиться к колонке по ее номеру в таблице?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
ну если я заранее не знаю, из какой колонки нужно выбирать данные


Что ж это у вас за структура хранения данных, такая. Ничего хорошего при таком подходе не выйдет. Если опишите задачу подробнее, мож и решение будет. А так, тока через обращение к соответсвующим представлениям информационной схемы и построением динамического запроса. Но оно вам надо?
27 янв 04, 11:41    [508138]     Ответить | Цитировать Сообщить модератору
 Re: можно ли обратиться к колонке по ее номеру в таблице?  [new]
Valera-x
Member

Откуда:
Сообщений: 83

declare
@n int--Номер колонки

--Временные переменные

declare
@name varchar(100),--Название колонки

@Tabel varchar(100)--Название таблицы


set @n=4
set @Tabel='TOrders'

set rowcount @n

set @name=(select name from
(
select name,n=(select count(*) from syscolumns where colid<=c.colid and id=object_id(@Tabel))
from syscolumns as c where id=object_id(@Tabel)
) as t
where n=@n)

set rowcount 0
exec ('select ['+ @name +'] from '+ @Tabel)



27 янв 04, 12:10    [508203]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить