Цитата: trad от 19 февраля 2026, 07:34Ты в (0) не сказал самое главное - что нужно получить если артикула нет в левой либо в правой таблицеВ таком случае такой артикул не попадает результат.
От этого и зависит тип соединения
Процедура Злоп()
ТаблицаЗначений1 = СоздатьОбъект("ТаблицаЗначений");
ТаблицаЗначений1.НоваяКолонка("Артикул", "Строка");
ТаблицаЗначений1.НоваяКолонка("БрендБаза", "Строка");
ТаблицаЗначений1.НоваяСтрока();
ТаблицаЗначений1.Артикул = "Арт1";
ТаблицаЗначений1.БрендБаза = "АААА";
ТаблицаЗначений1.НоваяСтрока();
ТаблицаЗначений1.Артикул = "Арт1";
ТаблицаЗначений1.БрендБаза = "СССС";
ТаблицаЗначений2 = СоздатьОбъект("ТаблицаЗначений");
ТаблицаЗначений2.НоваяКолонка("Артикул", "Строка");
ТаблицаЗначений2.НоваяКолонка("БрендПрайс", "Строка");
ТаблицаЗначений2.НоваяСтрока();
ТаблицаЗначений2.Артикул = "Арт1";
ТаблицаЗначений2.БрендПрайс = "ББББ";
ТаблицаЗначений2.НоваяСтрока();
ТаблицаЗначений2.Артикул = "Арт1";
ТаблицаЗначений2.БрендПрайс = "ДДДД";
База = СоздатьОбъект("SQLiteBase");
База.Открыть(":memory:");
База.УложитьТЗ(ТаблицаЗначений1, "Таблица1");
База.УложитьТЗ(ТаблицаЗначений2, "Таблица2");
Запрос = База.НовыйЗапрос();
Ответ = Запрос.ВыполнитьЗапрос("
|SELECT
| Артикул [Артикул :Строка]
| ,БрендБаза [БрендБаза :Строка]
| ,БрендПрайс [БрендПрайс :Строка]
|FROM
| Таблица1
//|CROSS JOIN Таблица2 USING(Артикул) -- так чуть проще читается, и изменение структуры ТЗ ничего не погнёт
|CROSS NATURAL JOIN Таблица2 -- чтобы никто не догадался
|");
База.Закрыть();
Ответ.ВыбратьСтроку();
КонецПроцедуры // Злоп