Вывод всех элементов справочника в запросе

1. user1148505 17.09.21 13:17 Сейчас в теме
Доброго времени суток, следовательно задача такая:
Выбрать Приборы Учётов из Справочника и если у них есть записи в регистре Поверки Приборов Учета в отдельной колонке установить отметку.

Запрос следующий:
Запрос


Выбирает он 180+ элементов справочника, но их около 800. Я понимаю, что делает он правильно - выбирает только те у которых есть записи в регистре с определенных регистраторов. Но я хочу увидеть все 800 с отметкой + или -, следовательно есть записи в регистре или нет.
По теме из базы знаний
Найденные решения
4. zelenii 17.09.21 13:26 Сейчас в теме
Поскольку используется ВНУТРЕННЕЕ СОЕДИНЕНИЕ то остаются только найденные записи в обеих таблицах.Возможно в регистре записей меньше, чем в справочнике элементов. Лучше тогда использовать ЛЕВОЕ СОЕДИНЕНИЕ. Тогда к имеющимся в таблице справочника данными будут добавлены, если есть соотвестсвие, записи из регистров. Ну и если там нет соответсвия, то будет NULL.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1461477 17.09.21 13:21 Сейчас в теме
(1)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
3. user1148505 17.09.21 13:25 Сейчас в теме
(2)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ


Можно подробнее, что говорится на пальцах.
12. user1461477 17.09.21 16:05 Сейчас в теме
4. zelenii 17.09.21 13:26 Сейчас в теме
Поскольку используется ВНУТРЕННЕЕ СОЕДИНЕНИЕ то остаются только найденные записи в обеих таблицах.Возможно в регистре записей меньше, чем в справочнике элементов. Лучше тогда использовать ЛЕВОЕ СОЕДИНЕНИЕ. Тогда к имеющимся в таблице справочника данными будут добавлены, если есть соотвестсвие, записи из регистров. Ну и если там нет соответсвия, то будет NULL.
5. d.batovskiy 17.09.21 13:33 Сейчас в теме
(4)Согласен с вашим ответом.
6. user1148505 17.09.21 13:44 Сейчас в теме
(4)
В конструкторе я так понимают нет возможности выбрать вид соединения.
7. zelenii 17.09.21 13:48 Сейчас в теме
(6)Есть. Но можно и так поменять слово ВНУТРЕНЕЕ на ЛЕВОЕ.Кроме того можно заменить поле ВложенныйЗапрос.ЛицевойСчёт, на ЕстьNULL(ВложенныйЗапрос.ЛицевойСчёт,"").
Но странно что сил написать такой запрос хватило, а узнать отличие Левого от Внутреннего - нет...Вы подозрительны...
9. user1148505 17.09.21 13:54 Сейчас в теме
(7)
ЕстьNULL(

В каждом человеке есть загадка.

Спасибо. Всё работает.
10. user1148505 17.09.21 15:19 Сейчас в теме
(9)Вот с ЕстьNULL(ВложенныйЗапрос.ЛицевойСчёт,"") как ЛицевойСчёт был вопрос. Пока не разобрался. По идее же должен выводить и пустые.
11. zelenii 17.09.21 15:31 Сейчас в теме
(10)
в данном случае если в регистре нет записи то в данном поле будет NULL. Запись ЕстьNULL(ВложенныйЗапрос.ЛицевойСчёт,"") сделает в данном случае подмену значения NULL на значение типа строка - "". По сути смысла в этом может и не быть ведь значение никем может не обрабатываться или значение будет иметь только заполненое значение. Но по=хорошему надо делать так. Мне говорили так.
8. user1148505 17.09.21 13:48 Сейчас в теме
(4)
ЛЕВОЕ


Сделал ЛЕВЫМ. Спасибо, всё работает.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот