Запрос выбрать одно знчение из ТЧ справочника

Новая тема
Показывать по сообщений
Всем привет. Платформа 8.2.14.540.<br>На примере справочника физлиц. Есть ТЧ образование. У физлиц может быть несколько видов образовния, т в ч несколько видов одного и того же (например высшего)<br> <br>Нужно в СКД выбрать из справочника все физлица и одно желательно последнее образование.<br> <br>Пример запроса (не работает) типа того<br> <br>ВЫБРАТЬ<br> ФизическиеЛица.Ссылка КАК ссылка,<br> ВложенныйЗапрос.ВидОбразования,<br> ВложенныйЗапрос.УчебноеЗаведение,<br> ВложенныйЗапрос.Специальность,<br> ВложенныйЗапрос.Диплом,<br> ВложенныйЗапрос.ГодОкончания<br>ИЗ<br> Справочник.ФизическиеЛица КАК ФизическиеЛица<br>  ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1<br>   ФизическиеЛицаОбразование.Ссылка КАК Ссылка,<br>   ФизическиеЛицаОбразование.ВидОбразования КАК ВидОбразования,<br>   ФизическиеЛицаОбразование.УчебноеЗаведение КАК УчебноеЗаведение,<br>   ФизическиеЛицаОбразование.Специальность КАК Специальность,<br>   ФизическиеЛицаОбразование.Диплом КАК Диплом,<br>   ФизическиеЛицаОбразование.ГодОкончания КАК ГодОкончания<br>  ИЗ<br>   Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование<br>  ГДЕ<br>   ФизическиеЛицаОбразование.ВидОбразования В(&ВидОбразования)<br>   И ФизическиеЛицаОбразование.Ссылка = ФизическиеЛица.Ссылка<br>УПОРЯДОЧИТЬ ПО<br> ГодОкончания УБЫВ) КАК ВложенныйЗапрос<br>  ПО ФизическиеЛица.Ссылка = ВложенныйЗапрос.Ссылка
Попробуй такой запрос:<br> <br><pre>ВЫБРАТЬ <br>ФизическиеЛица.Ссылка,<br> ВложенныйЗапрос.ВидОбразования,<br> ВложенныйЗапрос.УчебноеЗаведение,<br> ВложенныйЗапрос.Специальность,<br> ВложенныйЗапрос.Диплом,<br> ВложенныйЗапрос.ГодОкончания<br>ИЗ<br> Справочник.ФизическиеЛица КАК ФизическиеЛица<br> ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1<br> ФизическиеЛицаОбразование.ВидОбразования КАК ВидОбразования,<br> ФизическиеЛицаОбразование.УчебноеЗаведение КАК УчебноеЗаведение,<br> ФизическиеЛицаОбразование.Специальность КАК Специальность,<br> ФизическиеЛицаОбразование.Диплом КАК Диплом,<br> ФизическиеЛицаОбразование.ГодОкончания КАК ГодОкончания,<br> ФизическиеЛицаОбразование.Ссылка КАК Ссылка<br> ИЗ Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование<br> ГДЕ ФизическиеЛицаОбразование.ВидОбразования = &ВидОбразования<br> <br> УПОРЯДОЧИТЬ ПО<br> ГодОкончания УБЫВ) КАК ВложенныйЗапрос<br> ПО ФизическиеЛица.Ссылка = ВложенныйЗапрос.Ссылка </pre>
Спасибо за ответ.<br> <br>Левое соединение пробовал.<br> <br>"Первые 1"  убрал - это в принципе вообще не работает, так как выбирается просто одно образование.<br> <br>Даже без СКД, выбрать запросом не получается.
Странно. Только что у себя сформировал и все вышло как надо: физлицо и последнее образование по дате. А что в выборке моим запросом получается ?
Образование только у одного физлица. У того кто получился из выборки вложенного запроса.
Если формировать только вложенный запрос, то получится только одно физлицо, т.к. выборка ограничивается только одной записью. Поэтому надо формировать целиком весь запрос. Если нужно сформировать только те, у кого есть образование и вытащить последнее образование, то в запросе левое соединение надо поменять на внутреннее
Целиком формировал. Получаю список физлиц и образование заполнено только у одного.<br>У некоторых физлиц есть несколько образований.  Левое и внутреннее выводить такого сотруника  несколько раз .
Ошибся в запросе.<br>такой правильно<br>ВЫБРАТЬ<br>    ФизическиеЛица.Ссылка,<br>    ВложенныйЗапрос.ВидОбразования,<br>    ВложенныйЗапрос.УчебноеЗаведение,<br>    ВложенныйЗапрос.Специальность,<br>    ВложенныйЗапрос.Диплом,<br>    ВложенныйЗапрос.ГодОкончания<br>ИЗ<br>    Справочник.ФизическиеЛица КАК ФизическиеЛица<br>        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ<br>            ФизическиеЛицаОбразование.ВидОбразования КАК ВидОбразования,<br>            ФизическиеЛицаОбразование.УчебноеЗаведение КАК УчебноеЗаведение,<br>            ФизическиеЛицаОбразование.Специальность КАК Специальность,<br>            ФизическиеЛицаОбразование.Диплом КАК Диплом,<br>            МАКСИМУМ(ФизическиеЛицаОбразование.ГодОкончания) КАК ГодОкончания,<br>            ФизическиеЛицаОбразование.Ссылка КАК Ссылка<br>        ИЗ<br>            Справочник.ФизическиеЛица.Образование КАК ФизическиеЛицаОбразование<br>        ГДЕ<br>            ФизическиеЛицаОбразование.ВидОбразования = &ВидОбразования<br>        <br>        СГРУППИРОВАТЬ ПО<br>            ФизическиеЛицаОбразование.ВидОбразования,<br>            ФизическиеЛицаОбразование.УчебноеЗаведение,<br>            ФизическиеЛицаОбразование.Специальность,<br>            ФизическиеЛицаОбразование.Диплом,<br>            ФизическиеЛицаОбразование.Ссылка) КАК ВложенныйЗапрос<br>        ПО ФизическиеЛица.Ссылка = ВложенныйЗапрос.Ссылка<br><br>УПОРЯДОЧИТЬ ПО<br>    ФизическиеЛица.Наименование
Спасибо тебе что возишься со  мной. Но это дает тоже самый результат. Если у физлица два образования то группировка два и выберет.<br>Скорее всего придется выбирать образование через внешние данные.
Я на своей базе протестировал запрос- выбирает как надо.

Читают тему

(гостей: 1)

Быстрый переход