
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.11.2002, 22:29:51
|
|||
|---|---|---|---|
|
|||
Подстановка в SELECT имени столбца из переменной |
|||
|
#18+
MSSQL2000 Исходные данные: имеем таблицу MYTAB, количество столбцов 1..100 из какого столбца делать выборку определяется динамически в зависимости от условий Попытка решения: DECLARE @Vint1 int, @na char(5),@N tinyint ------------------------------------------ Допустим индекс столбца, определенный в другой процедуре равен 6 ------------------------------------------ SET @N = 6 ------------------------------------------ Заносим в переменную @Vint1 id таблицы MYTAB ----------------------------------------------- Select @Vint1=id FROM sysobjects WHERE name='MYTAB' ----------------------------------------------- Используем встроенную функцию COL_NAME(indexTab,indexColumn) для определения имени столбца из которого нужно сделать выборку присваиваем результат переменной @na ----------------------------------------------- SELECT TOP 1 @na=COL_NAME(@Vint1,@N) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'MYTAB' ----------------------------------------------- пытаюсь получить значение из столбца, имя которого находится в переменной @na и дополнительного условия ------------------------------------------------ SELECT @na FROM MYTAB WHERE (MYTAB.Summa = 54) ------------------------------------------------ Результат- возвращает имя столбца, а мне нужно значение в этом столбце!!! Подскажите как решить данную задачу, какие функции можно использовать, может синтаксис неправильный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.11.2002, 23:39:24
|
|||
|---|---|---|---|
Подстановка в SELECT имени столбца из переменной |
|||
|
#18+
используй динамичиский запрос.... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.11.2002, 23:41:34
|
|||
|---|---|---|---|
Подстановка в SELECT имени столбца из переменной |
|||
|
#18+
да и вместо declare @na char(5) пользуй @na sysname или хотябы varchar.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1819112]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 385ms |

| 0 / 0 |
