Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2010, 09:49   #1
euronymous
Пользователь
 
Регистрация: 26.10.2008
Сообщений: 14
По умолчанию Взятие названий объектов из подзапроса

Уважаемые профессионалы, подскажите, пожалуйста, как можно в качестве названия таблицы и названия полей подставлять данные, получаемые из подзапроса. СУБД SQL Server 2005
Например, есть 2 таблицы:
1) Таблица содержит 4 столбца: Дата, Значение, Имя_Параметра, Имя_таблицы_для_экспорта
2) Таблица содержит например 3 столбца: Дата, Параметр1, Параметр2

Нужно произвести экспорт данных из таблицы1 в таблицу2, причем данные раскидывать именно по тем стобцам, которые указаны в поле Имя_Параметра.
Заранее благодарю за ответ.
euronymous вне форума Ответить с цитированием
Старый 28.02.2010, 01:00   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Покажите более подробно на примере, как и куда какие данные перемещаются
motorway вне форума Ответить с цитированием
Старый 28.02.2010, 16:09   #3
euronymous
Пользователь
 
Регистрация: 26.10.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Покажите более подробно на примере, как и куда какие данные перемещаются
Вот упрощенный пример. 2 таблицы. Данные находятся в таблице table1. Нужно данные перенести в таблицу table2
Table1:
Dt |Value | ParamName
10.02.2010 | 1 | A
10.02.2010 | 5 | B
12.02.2010 | 2 | A

После экспорта данных из table1, table2 будет содержать следующие данные
Table2:
Dt | A | B
10.02.2010 | 1 | 5
12.02.2010 | 2 | NULL

Последний раз редактировалось euronymous; 28.02.2010 в 16:11.
euronymous вне форума Ответить с цитированием
Старый 28.02.2010, 19:29   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

если кол-во значений ParamName известно заранее, то можно все сделать одним запросом через case
иначе нужно делать через ХП:
1) запрос на получение уникальных значений select distinct ParamName from Table1 или просто через групбай - для динамического скрипта создания таблицы
2) дальше покумекать как реализовать цикл перебора чтобы быстро отработало
soleil@mmc вне форума Ответить с цитированием
Старый 01.03.2010, 06:34   #5
euronymous
Пользователь
 
Регистрация: 26.10.2008
Сообщений: 14
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
если кол-во значений ParamName известно заранее, то можно все сделать одним запросом через case
иначе нужно делать через ХП:
1) запрос на получение уникальных значений select distinct ParamName from Table1 или просто через групбай - для динамического скрипта создания таблицы
2) дальше покумекать как реализовать цикл перебора чтобы быстро отработало
Я, конечно, предполагал, что есть какой-то более изящный способ без переборов и CASEов, но все равно спасибо.
euronymous вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выполнить два подзапроса SQL Caster SQL, базы данных 3 06.12.2009 11:21
Взятие значения по адресу nusik Общие вопросы C/C++ 1 25.05.2009 01:59
Взятие интеграла max38934 Общие вопросы Delphi 2 11.05.2009 16:03
взятие старшего и младшего байта Djaconda Общие вопросы Delphi 2 29.09.2008 09:25
Совпадение названий программ mutabor Свободное общение 3 25.10.2007 19:40