Имя: Пароль:
1C
1С v8
Левое соединение двух временных таблиц пустые данные в колонках
0 DEVIce
 
05.09.22
08:42
1. Все делаю не так, сам дурак. 100% (1)
2. Все делаю так, фигня какая-то 0% (0)
Всего мнений: 1

Есть простейший запрос:
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    ВЫРАЗИТЬ(ТаблицаТовары.No КАК СТРОКА(100)) КАК Хрю,
|    *
|ПОМЕСТИТЬ ВТ_ТаблицаТовары
|ИЗ
|    &тзТовары КАК ТаблицаТовары
|;
|
|///////////////////////////////
|ВЫБРАТЬ
|    *
|ПОМЕСТИТЬ ВТ_ТаблицаОстаткиЦены
|ИЗ
|    &тзОстаткиЦены КАК ТаблицаОстаткиЦены
|;
|
|///////////////////////////////
|ВЫБРАТЬ ПЕРВЫЕ 20000
|    ТаблицаТовары.*,
|    ТаблицаОстаткиЦены.*
|ИЗ
|    ВТ_ТаблицаТовары КАК ТаблицаТовары
|    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ТаблицаОстаткиЦены КАК ТаблицаОстаткиЦены ПО
|        ВЫРАЗИТЬ(ТаблицаОстаткиЦены.No КАК СТРОКА(100)) = ВЫРАЗИТЬ(ТаблицаТовары.No КАК СТРОКА(100))
|";
Запрос.УстановитьПараметр("тзТовары", тзТовары);
Запрос.УстановитьПараметр("тзОстаткиЦены", тзОстаткиЦены);
    
РезультатЗапроса = Запрос.ВыполнитьПакетСПромежуточнымиДанными();
    
тз_1 = РезультатЗапроса[0].Выгрузить();
тз_2 = РезультатЗапроса[1].Выгрузить();
тз_3 = РезультатЗапроса[2].Выгрузить();

Но выдает он странный результат. В тз_1 и тз_2 данные аналогичные переданным ТЗ, в тз_3 ожидаю тз_1 с присоединенными колонками из тз_2. Но по факту получаю декартово произведение, да еще во всех строках значения пустые, т.е. или пустые строки или 0 (там где числа). Колонка Хрю и ограничение в 20000 строк, исключительно для отладки.
Что я делаю не так?
1 Галахад
 
гуру
05.09.22
08:49
No случайно не число?
2 Ryzeman
 
05.09.22
08:55
Что такое No и насколько оно уникально?
3 DEVIce
 
05.09.22
08:55
Нет, строка неопределенной длины. Но похоже тема снимается. Там в тз_1 и тз_2. если посмотреть чутка ниже уже с проблемами, не заметил. Так что все спасибо.
4 DEVIce
 
05.09.22
08:56
Сам дурак :)

Все делаю не так, сам дурак.
5 DEVIce
 
05.09.22
08:56
Вот,стоит только задать вопрос и ответ сам в голову приходит. Там уже в первых ТЗ кривые данные с кучей пустых строк.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.