Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объединение разнородных таблиц в запросе
|
|||
|---|---|---|---|
|
#18+
Во загнул! Всем привет! Есть хитрая задачка - не могу справиться! Итак, имеются две таблицы: Т1 'Дата' 'Имя переменной' 'Значение' 12-12-2002 'А1' 120.35 12-12-2002 'А2' 345.01 Т2 'Дата' 'А3' 'А4' 'А5' и т.д. 12-12-2002 345.00 123.12 234.56 Названия полей соответствуют названиям переменных. Нужно запросом получить объединенные значения из этих двух таблиц. В итоге нужно иметь данные в виде, соответствующем формату Т1. Переделать таблицы я не имею права, т.к. они используются двумя разными уже готовыми (не моими) приложениями. Если это уже было - ссылочку пожалуйста. С наилучшими пожеланиями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 06:17 |
|
||
|
Объединение разнородных таблиц в запросе
|
|||
|---|---|---|---|
|
#18+
Интересно - получается анти - перекрестный запрос. Мысль такая - нужно использовать курсор по метаструктуре таблицы T2 и динамический запрос для добавления записей в новую таблицу T3, имеющую как я понял структуру, аналогичную T1. Организуем курсор по полям T2, идем по нему, соответствующе если поле нужное, формируем строку следующего плана: \ninsert into T3 ([Дата], [Имя переменной], [Значение]) select [Дата], 'A3', A3 from T2 Соответственно вместо A3 при формировании строки подставляем имя поля, полученное из курсора. Далее выполняем динмический запрос на основе сформированной строки и так далее с каждым нужным полем. Ну а затащить в T3 значения из T1 я думаю труда вам не составит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 07:39 |
|
||
|
Объединение разнородных таблиц в запросе
|
|||
|---|---|---|---|
|
#18+
Здорово! Вот только сколько времени сожрет такая операция, если в Т2 полей вагон и немаленькая тележка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 07:50 |
|
||
|
Объединение разнородных таблиц в запросе
|
|||
|---|---|---|---|
|
#18+
А может так (не знаю, насколько это рационально, но зато без курсоров): SELECT dat, name, val FROM T1 UNION SELECT dat, 'A3', A3 FROM T2 UNION SELECT dat, 'A4', A4 FROM T2 UNION SELECT dat, 'A5', A5 FROM T2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2002, 07:52 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32030331&tid=1822733]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 363ms |

| 0 / 0 |
