|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.05.2009, 12:02 | #1 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
транспонирование строки таблицы в столбец
ADOQUERY,SQLSERVER
задача такая. В БД есть таблица с полями: data_d1_d2_d3.Пример: --------------------- data _____|d1|d2|d3| 01.05.2009|02|03|04| 02.05.2009|05|06|07| 03.05.2009|08|09|10| --------------------- Нужно перевернуть ее и получить таблицу с полями: data_d.Пример: --------------- data______|d | 01.05.2009|02| 01.05.2009|03| 01.05.2009|04| 02.05.2009|05| 02.05.2009|06| 02.05.2009|07| 03.05.2009|08| 03.05.2009|09| 03.05.2009|10| --------------- У кого какие идеи? Последний раз редактировалось kate158; 14.05.2009 в 12:15. |
14.05.2009, 12:14 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
подкину идею - почитай про юнионы - должно помочь
|
14.05.2009, 14:21 | #3 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
А мысль не стали развивать, чтобы человек немножко подумал сам? или просто некогда (лень) дописать было? я позволю чуть-чуть проиллюстрировать Вашу мысль: Цитата:
Код:
NB. из Вашего примера вижу, что Вы совершенно правильно обратили внимание на то, что для одной и той же строчки с data появится ТРИ строчки с этой датой... |
||
14.05.2009, 15:23 | #4 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
Serge_Bliznykov, где Вы были раньше?
У меня уже появился мега код Код:
а вроде бы все так просто.. |
14.05.2009, 18:54 | #5 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Цитата:
похоже, топикстартер просто не читал ответы З.Ы.: а так да - просто некогда было, надеялся хватит наводки |
|
15.05.2009, 16:23 | #6 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
Все конечно хорошо, но в итоге у меня получился мега код, при выполнении ктр прога виснет где то на минуту..
|
15.05.2009, 16:32 | #7 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
вот и расскажите нам - для чего делать такое преобразование?
понятно, что такой запрос пробегает таблицу Н-раз (сколько там этих столбцов - в этом примере 3) по всем строчкам - фуллсканом |
15.05.2009, 16:41 | #8 |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
вах..
строчек у меня не три, а 24 (на каждый час). а нужно это для удобства пользователя. может то, что есть у меня, можно как то упростить? Код:
|
15.05.2009, 17:03 | #9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
вот уже какие веселые подробности открываются
вопрос заключается в том - чем юзверю будет лучше от такого разворачивания данных? что с ними дальше делать? кстати, анпивот работает? по-хорошему, нужно сначала ограничить набор данных, а уже потом его юнионить, а то такой запрос точно долго будет лопатить попробуй так Код:
З.Ы.2: возможно, если там всего 32 объекта, то и вообще можно избежать фильтрования в первом запросе по айдишнику... Последний раз редактировалось soleil@mmc; 15.05.2009 в 17:16. |
15.05.2009, 17:25 | #10 | |
Форумчанин
Регистрация: 01.08.2008
Сообщений: 383
|
Цитата:
анпивот не работает. з.ы.спасибо, soleil@mmc за идеи, ты помогаешь мне думать. в понедельник продолжу. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вставка строки из таблицы | Tanusha | SQL, базы данных | 0 | 16.03.2009 10:19 |
Вставка/импорт массива значений из текстового файла в столбец таблицы | bungler | Microsoft Office Excel | 4 | 08.01.2009 19:09 |
Умножение строки на столбец. | ReDev1L | Помощь студентам | 6 | 21.10.2008 22:31 |
очень срочно нужен макрос на транспонирование таблицы | kievlyanin | Microsoft Office Excel | 10 | 25.06.2008 13:20 |
Как частично скрыть строки таблицы... | krupnoff | PHP | 11 | 21.08.2007 23:49 |