Текущее время: Вс, июл 20 2025, 15:13

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Объединение таблиц
СообщениеДобавлено: Ср, июл 11 2012, 10:29 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
Добрый день, коллеги.
Как правильнее реализовать алгоритм объединения внутренних таблиц в одну?
Есть несколько внутренних таблиц с одинаковыми ключевыми полям, к примеру A и B:
A-B-C, A-B-D-E, A-B-F-G

Как выбрать данные в одну внутреннюю таблицу
A-B-C-D-E-F-G ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Ср, июл 11 2012, 13:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
С помощью операторов LOOP и READ TABLE

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Ср, июл 11 2012, 13:37 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
Для быстрой работы read желательно иметь sorted или hashed таблицы.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Ср, июл 11 2012, 15:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
SMak написал(а):
Для быстрой работы read желательно иметь sorted или hashed таблицы.

Достаточно отсортировать по нужным полям и использовать BINARY SEARCH.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Ср, июл 11 2012, 23:25 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Если записей не очень много, можно не париться - свалить все в одну кучу, отсортировать и удалить дубликаты.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Чт, июл 12 2012, 09:27 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
QValD написал(а):
Есть несколько внутренних таблиц с одинаковыми ключевыми полям, к примеру A и B:
A-B-C, A-B-D-E, A-B-F-G

Удав написал(а):
Достаточно отсортировать по нужным полям и использовать BINARY SEARCH.

Если в этих нескольких таблицах не обязательно записи с одинаковыми ключевыми полями (типа A1-B1-C1, A2-B2-C1 и A1-B1-D1-E1, A3-B3-D3-E3), то более оптимальный вариант - сортированная суммарная таблица, в которой выполнять READ и INSERT по всем исходным таблицам.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Чт, июл 12 2012, 10:21 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
С точки зрения оптимизации самый оптимальный метод - тот что используется в сортировке слиянием
http://ru.wikipedia.org/wiki/Сортировка_слиянием, см. функцию merge
Хотя для небольших объемов данных нет смысла с этим заморачиваться, read table или loop тоже работают достаточно быстро в случае отсортированной таблицы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Чт, июл 12 2012, 10:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
zsap +1 :D
SMak написал(а):
более оптимальный вариант - сортированная суммарная таблица, в которой выполнять READ и INSERT по всем исходным таблицам.

Чем этот вариант "более оптимальный"? Посмотрите документик по оптимизации :wink:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объединение таблиц
СообщениеДобавлено: Чт, июл 12 2012, 11:46 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
Удав написал(а):
Чем этот вариант "более оптимальный"? Посмотрите документик по оптимизации :wink:

Согласен.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB