Вроде простой запрос

Отзывов (3)FavoriteLoadingВ закладки

Помогите разобраться. Имеем запрос, в котором справочник связан с собственной табличной частью вложенным запросом:

 
ВЫБРАТЬ

Проекты.Ссылка КАК Монтаж,

Проекты.Приоритет КАК Приоритет,

ВложенныйЗапросГИС.ГИС КАК ГИС

ИЗ Справочник.Проекты КАК Проекты

ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1

ПроектыСписокИТР.ФизЛицо КАК ГИС,

ПроектыСписокИТР.Ссылка КАК Монтаж1

ИЗ Справочник.Проекты.СписокИТР КАК ПроектыСписокИТР

ГДЕ ПроектыСписокИТР.Роль.Наименование = &ГИС
УПОРЯДОЧИТЬ ПО ГИС) КАК ВложенныйЗапросГИС

ПО Проекты.Ссылка = ВложенныйЗапросГИС.Монтаж1
УПОРЯДОЧИТЬ ПО

Приоритет, Монтаж

 
Из табличной части нужно получить одну запись определённого вида. Вид задаётся параметром &ГИС. Данный запрос не работает. Но путём изменения количества в предложении “ВЫБРАТЬ ПЕРВЫЕ 1” подзапроса, выяснилось, что запрос начинает работать при различных значениях. Какие-то записи выбираются при 3, какие-то при 14.
Пример:

ПЕРВЫЕ 1

Выборка:

Монтаж1 1 <пусто>

Монтаж2 2 <пусто>

Монтаж3 3 <пусто>

 
ПЕРВЫЕ 3

Выборка:

Монтаж1 1 <пусто>

Монтаж2 2 Петров

Монтаж3 3 <пусто>

 
ПЕРВЫЕ 7

Выборка:

Монтаж1 1 Иванов

Монтаж2 2 Петров

Монтаж3 3 <пусто>

 
ПЕРВЫЕ 14

Выборка:

Монтаж1 1 Иванов

Монтаж2 2 Петров

Монтаж3 3 Сидоров

 
В чём тут проблема?

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

3 Коммент.

  1. Вы наверное хотели получить одну запись из ТЧ КАЖДОГО справочника, но вместо этого написали запрос, который выдает одну запись из ВСЕХ ТЧ ВСЕХ справочников. и какую ссылку выведет – для того и отобразится.
    Для написания нужного запроса вам необходимо найти в ТЧ поле, которое и будет определять уникальность записи, среди других подобных. Если же условие, которое вы задали вернет вам одну запись из ТЧ в любом случае, тогда конструкцию ПЕРВЫЕ использовать не надо.

    • Возможно туплю, но разве

      ПО Проекты.Ссылка = ВложенныйЗапросГИС.Монтаж1

      не связывает конкретный справочник с конкретной ТЧ?

      П.С. Я обошёл эту проблему наборами данных, но очень интересут решение запросом.

  2. Связывает, но…
    Конструкция ПЕРВЫЕ 1 (к примеру) для вложенного запроса всегда вернет ОДНУ запись. Какая она будет зависит от условий, но она всегда для этого случая будет одна.
    А вам надо для каждой ТЧ каждого элемента справочника выбрать одну строку.
    Разницу улавливаете?

Оставить комментарий

RSSКомментарии в RSS

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.