Добрый день! :)
Подскажите пожалуйста по запросам.
У нас есть 2 таблицы, - Таблица1 и Таблица2. Если значение Таблица1.Реквизит1 = Истина, тогда Соединить Таблицу1 и Таблицу2 по Таблица1.Ссылка= Таблица2.Поле1.
Если же зщначение Таблица1.Реквизит1 = Ложь, то Соединить Таблицу1 и Таблицу2 по Таблица1.Ссылка= Таблица2.Поле2.
Подскажите, как написать условие для выбора связи?
ВЫБРАТЬ
Таблица1.Реквизит1,
Таблица1.Ссылка,
Таблица2.Поле1,
Таблица2.Поле2
ИЗ
Таблица1 КАК Таблица1
ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2
ПО (ВЫБОР
КОГДА Таблица1.Реквизит1
ТОГДА Таблица1.Ссылка = Таблица2.Поле1
ИНАЧЕ Таблица1.Ссылка = Таблица2.Поле2
КОНЕЦ)
(0) А чтобы соединение использовало индексы (если таковые имеются) 1С рекомендует делать не через ИЛИ, а вот так:
ВЫБРАТЬ
Таблица1.Поле1,
Таблица1.Поле5,
Таблица2.Поле6
ИЗ
Таблица1 КАК Таблица1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2
ПО Таблица1.Поле2 = Таблица2.Поле2
ГДЕ
Таблица1.Поле1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Таблица1.Поле1,
Таблица1.Поле5,
Таблица2.Поле6
ИЗ
Таблица1 КАК Таблица1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2
ПО Таблица1.Поле3 = Таблица2.Поле3
ГДЕ
НЕ Таблица1.Поле1