Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема "Произведение" двух ИТ (число прочтений - 1167 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
"Произведение" двух ИТ
13. Июля 2008 :: 11:19
Печать  
Надо сделать произведение множеств - двух ИТ
То есть:

ИТ1
---------
1.1
1.2


ИТ2
---------
2.1
2.2


Надо чтобы получилось:


ИТРез
---------
1.1          2.1
1.1          2.2
1.2          2.1
1.2          2.2


Как можно сделать?
Сейчас я делаю перебором цикл в цикле, побыстрее как-нибудь можно?
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: "Произведение" двух ИТ
Ответ #1 - 13. Июля 2008 :: 11:49
Печать  
Можно, конечно:
Код
Выбрать все
Процедура Сформировать()
	_т =СоздатьОбъект("ИндексированнаяТаблица");

	_т1 =СоздатьОбъект("ИндексированнаяТаблица");
	_т1.НоваяКолонка("к1");
	_т2 =_т1.Копия(0, 0);
	_т2.НоваяКолонка("к2");

	_т1.НоваяСтрока(); _т1.к1 =1;
	_т1.НоваяСтрока(); _т1.к1 =2;
	_т1.НоваяСтрока(); _т1.к1 =3;

	_т2.НоваяСтрока(); _т2.к2 =4;
	_т2.НоваяСтрока(); _т2.к2 =5;
	_т2.НоваяСтрока(); _т2.к2 =6;

	// собственно алгоритм
	_т1.ВыбратьСтроки();
	Пока _т1.ПолучитьСтроку() =1 Цикл
		_т2.ЗаполнитьКолонку(, "к1", _т1.к1);
		_т.Объединить(_т2);
	КонецЦикла;

	_т.Показать();
КонецПроцедуры
 


Ну, либо копай в сторону 1sqlite / mssql на предмет cross join.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: "Произведение" двух ИТ
Ответ #2 - 13. Июля 2008 :: 20:05
Печать  
Как-то так

Select  * from #t1, #t2
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать