0
Vvvvv
10.02.15
✎
22:09
|
Есть у меня 2 таблицы значений. Две колонки "Номер" и "Символ". Некоторые поля одинаковые, а некоторые нет.
Нужно объединить таблицы, хочу сделать в запросе. Сделал так. Неправильно то, что я использовал 2 временные таблицы.
ТЗ1 = новый ТаблицаЗначений;
ТЗ1.Колонки.Добавить("Номер", новый ОписаниеТипов("Строка"), новый КвалификаторыСтроки(200));
ТЗ1.Колонки.Добавить("Символ", новый ОписаниеТипов("Строка"), новый КвалификаторыСтроки(200));
ТЗ2 = новый ТаблицаЗначений;
ТЗ2.Колонки.Добавить("Номер", новый ОписаниеТипов("Строка"), новый КвалификаторыСтроки(200));
ТЗ2.Колонки.Добавить("Символ", новый ОписаниеТипов("Строка"), новый КвалификаторыСтроки(200));
Мен = новый МенеджерВременныхТаблиц;
Запрос1 = новый Запрос;
Запрос1.МенеджерВременныхТаблиц = Мен;
Запрос1.УстановитьПараметр("ТЗ1", ТЗ1);
Запрос1.Текст = "ВЫБРАТЬ
|*
|Поместить Таб1
|ИЗ &ТЗ1 Как ТЗ1";
Выборка1 = Запрос1.Выполнить();
Запрос2 = новый Запрос;
Запрос2.МенеджерВременныхТаблиц = мен;
Запрос2.УстановитьПараметр("ТЗ2", ТЗ2);
Запрос2.Текст = "ВЫБРАТЬ
|*
|Поместить Таб1
|ИЗ &ТЗ2 Как ТЗ2";
Выборка2 = Запрос2.Выполнить();
Запрос = новый Запрос;
Запрос.МенеджерВременныхТаблиц = Мен;
//Запрос1.УстановитьПараметр("ТЗ2", ТЗ2);
Запрос.Текст = "ВЫБРАТЬ
| Таб1.Номер,
| Таб1.Символ,
| Таб2.Номер КАК Номер1,
| Таб2.Символ КАК Символ1
|ИЗ
| Таб1 КАК Таб1
| ПОЛНОЕ СОЕДИНЕНИЕ Таб2 КАК Таб2
| ПО Таб1.Номер = Таб2.Номер";
Выборка = запрос.Выполнить().Выбрать();
пока Выборка.Следующий() цикл
Сообщить(Выборка.Номер);
КонецЦикла;
|
|