Вход | Регистрация
 

Как сделать внутреннее соединение с пустой таблицей?

Как сделать внутреннее соединение с пустой таблицей?
Я
   RomaH
 
25.06.21 - 07:57
Если правая таблица пустая - то левую вывести всю
а вот если есть записи в правой - то нужно левое соединение

В запросе такое условие как написать?

Суть - если для выполнения работы необходимо оборудование - то надо искать свободное оборудование, если оборудования не требуется - то - не надо

ВЫБРАТЬ
    МестаРаботыСпециалистов.Специалист КАК Специалист,
    МестаРаботыСпециалистов.МестоРаботы КАК МестоРаботы,
    МестаРаботыСпециалистов.НачалоРаботы КАК НачалоРаботы,
    МестаРаботыСпециалистов.ОкончаниеРаботы КАК ОкончаниеРаботы
ИЗ
    втСпециалисты КАК втСпециалисты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестаРаботыСпециалистов КАК МестаРаботыСпециалистов
        ПО втСпециалисты.Специалист = МестаРаботыСпециалистов.Специалист
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ втОборудование КАК втОборудование //Как вытащить в условие пустая таблица или нет?
        ПО (втОборудование.Оборудование = МестаРаботыСпециалистов.МестоРаботы)
   Почему 1С
 
1 - 25.06.21 - 08:14
Всегда левое соединение
   Ёпрст
 
2 - 25.06.21 - 11:10
(0)
На вот тебе, exists в 1с. Поиграйся с top в первом запросе.

ВЫБРАТЬ ПЕРВЫЕ 0 
    Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ Табличка
ИЗ
    Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ ПЕРВЫЕ 10
    Номенклатура.Ссылка КАК Ссылка
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    ВЫБОР
            КОГДА ИСТИНА В
                    (ВЫБРАТЬ
                        ИСТИНА
                    ИЗ
                        Табличка)
                ТОГДА Номенклатура.Ссылка В
                        (ВЫБРАТЬ
                            Табличка.Ссылка
                        ИЗ
                            Табличка)
            ИНАЧЕ ИСТИНА
        КОНЕЦ

   Ёпрст
 
3 - 25.06.21 - 11:11
+2 при нуле будут все записи, иначе, фильтр на записи из таблички
   Ёпрст
 
4 - 25.06.21 - 11:13
ну и у тебя 

внутреннее выкини и воткни так:

ГДе 
    ВЫБОР
            КОГДА ИСТИНА В
                    (ВЫБРАТЬ
                        ИСТИНА
                    ИЗ
                        втОборудование)
                ТОГДА МестаРаботыСпециалистов.МестоРаботы В
                        (ВЫБРАТЬ
                            втОборудование.Оборудование 
                        ИЗ
                            втОборудование)
            ИНАЧЕ ИСТИНА
        КОНЕЦ

   Mort
 
5 - 25.06.21 - 11:15
Или так:

ТАБ1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТАБ2
ОБЪЕДИНИТЬ


ТАБ1 ГДЕ Истина В (ВЫБРАТЬ ПЕРВЫЕ 1 Истина ИЗ Таб2)
   Mort
 
6 - 25.06.21 - 11:15
* ГДЕ НЕ Истина...

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.