Если правая таблица пустая - то левую вывести всю
а вот если есть записи в правой - то нужно левое соединение
В запросе такое условие как написать?
Суть - если для выполнения работы необходимо оборудование - то надо искать свободное оборудование, если оборудования не требуется - то - не надо
ВЫБРАТЬ
МестаРаботыСпециалистов.Специалист КАК Специалист,
МестаРаботыСпециалистов.МестоРаботы КАК МестоРаботы,
МестаРаботыСпециалистов.НачалоРаботы КАК НачалоРаботы,
МестаРаботыСпециалистов.ОкончаниеРаботы КАК ОкончаниеРаботы
ИЗ
втСпециалисты КАК втСпециалисты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестаРаботыСпециалистов КАК МестаРаботыСпециалистов
ПО втСпециалисты.Специалист = МестаРаботыСпециалистов.Специалист
ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОборудование КАК втОборудование //Как вытащить в условие пустая таблица или нет?
ПО (втОборудование.Оборудование = МестаРаботыСпециалистов.МестоРаботы)
(0)
На вот тебе, exists в 1с. Поиграйся с top в первом запросе.
ВЫБРАТЬ ПЕРВЫЕ 0
Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ Табличка
ИЗ
Справочник.Номенклатура КАК Номенклатура
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 10
Номенклатура.Ссылка КАК Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
ВЫБОР
КОГДА ИСТИНА В
(ВЫБРАТЬ
ИСТИНА
ИЗ
Табличка)
ТОГДА Номенклатура.Ссылка В
(ВЫБРАТЬ
Табличка.Ссылка
ИЗ
Табличка)
ИНАЧЕ ИСТИНА
КОНЕЦ
ГДе
ВЫБОР
КОГДА ИСТИНА В
(ВЫБРАТЬ
ИСТИНА
ИЗ
втОборудование)
ТОГДА МестаРаботыСпециалистов.МестоРаботы В
(ВЫБРАТЬ
втОборудование.Оборудование
ИЗ
втОборудование)
ИНАЧЕ ИСТИНА
КОНЕЦ
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший