Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как сделать FULL OUTER JOIN двух индекс. таблиц? (число прочтений - 3983 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Как сделать FULL OUTER JOIN двух индекс. таблиц?
28. Ноября 2007 :: 08:48
Печать  
Есть две таблицы, в каждой их них создан индекс.
Как бы поудобнее сделать их FULL OUTER JOIN в третью таблицу?

Пока придумал только длинным способом:

Код
Выбрать все
ИТРазница = СоздатьОбъект("ИндексированнаяТаблица");
ИТРазница.Загрузить(ИТ1);
ИТРазница.Разность(ИТ2, "Ключ");

ИТРез = СоздатьОбъект("ИндексированнаяТаблица");
ИТРез.Загрузить(ИТ1);
ИТРез.Пересечение(ИТ2, "Ключ");
ИТРез.Объединить(ИТРазница);
 



Покороче никак нельзя?
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #1 - 29. Ноября 2007 :: 04:53
Печать  
ау
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #2 - 29. Ноября 2007 :: 13:12
Печать  
Да вроде все нормально написал Улыбка
Единственно я бы испоьзовал копия(), а не загрузить(), но возможно отличий в реализации нет.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #3 - 29. Ноября 2007 :: 13:53
Печать  
Эх жалко, что нельзя покороче !
Может записать пожелание в "хотелки"? Чтобы разработали метод, выполняющий ту же работу но одним вызовом.
За мою практику такое уже несколько раз понадобилось
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #4 - 30. Ноября 2007 :: 08:14
Печать  
Прошу в Багзиллу.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #5 - 30. Ноября 2007 :: 08:27
Печать  
А смысл?
Насколько мне известно - фактическая реализация алгоритма FULL JOIN так и происходит -
INNER JOIN таблиц дополняется Записями которые присутствуют только
в первой и отсутствуютво второй таблице и записями , которые присутствуют во второй, но отсутствуют в первой.

Т.е. никакого выигрыша по времени не будет.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #6 - 30. Ноября 2007 :: 12:33
Печать  
Смысл есть: Будет выигрыш по времени разработки программ.
Вместо нескольких строк написать одну - и быстрее само написание, и исключает случайные курьезные ошибки, соответсвенно время не отладку не потребуется и т.д...
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #7 - 30. Ноября 2007 :: 12:37
Печать  
artbear писал(а) 30. Ноября 2007 :: 08:14:
Прошу в Багзиллу.

а дайте ссылочку...
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #8 - 30. Ноября 2007 :: 12:59
Печать  
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Как сделать FULL OUTER JOIN двух индекс. табли
Ответ #9 - 04. Декабря 2007 :: 13:10
Печать  
es3000 писал(а) 30. Ноября 2007 :: 12:33:
Смысл есть: Будет выигрыш по времени разработки программ.
Вместо нескольких строк написать одну - и быстрее само написание, и исключает случайные курьезные ошибки, соответсвенно время не отладку не потребуется и т.д...


Да, был не прав - ведь разность и INNER JOIN можно в алгоритме одновременно вычислять.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать