задачка :
типовая Бух.
по бух регистру найти первое движение по проводкам для каждого из договоров.
запросом (без цыклов и таблиц значений)
select distinct
ХозрасчетныйСубконто.Период as Дата,
ХозрасчетныйСубконто.Вид,
ХозрасчетныйСубконто.Значение as Договор , ХозрасчетныйСубконто.Значение.Владелец
From
РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто
where
(ХозрасчетныйСубконто.Вид.Наименование ПОДОБНО "Договор%")
and
( (ХозрасчетныйСубконто.Период) in ( Select top 1 ХозрасчетныйСубконто2.Период
From РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто2
where ХозрасчетныйСубконто2.Значение=ХозрасчетныйСубконто.Значение
order by ХозрасчетныйСубконто2.Период
)
)
все отлично работает ,
теперь подзадача : для каждого договора получить дату первого движения по проводкам одного из договоров того же котнрагента что и сам договор , логично и достаточно кажется заменить строку "where" во вложенном запросе на
ХозрасчетныйСубконто2.Значение.Владелец=ХозрасчетныйСубконто.Значение.Владелец
но увы.. результат какойто не предсказуемый, я непонимаю что оно в итоге отбирает ...
переписать по запросу через другое субконто не предлагать т.к. "Владелец" лишь взят для примера, а надо по другому обобщающему реквизиту..
хочется понять суть ошибки или глюка.
типовая Бух.
по бух регистру найти первое движение по проводкам для каждого из договоров.
запросом (без цыклов и таблиц значений)
select distinct
ХозрасчетныйСубконто.Период as Дата,
ХозрасчетныйСубконто.Вид,
ХозрасчетныйСубконто.Значение as Договор , ХозрасчетныйСубконто.Значение.Владелец
From
РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто
where
(ХозрасчетныйСубконто.Вид.Наименование ПОДОБНО "Договор%")
and
( (ХозрасчетныйСубконто.Период) in ( Select top 1 ХозрасчетныйСубконто2.Период
From РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто2
where ХозрасчетныйСубконто2.Значение=ХозрасчетныйСубконто.Значение
order by ХозрасчетныйСубконто2.Период
)
)
все отлично работает ,
теперь подзадача : для каждого договора получить дату первого движения по проводкам одного из договоров того же котнрагента что и сам договор , логично и достаточно кажется заменить строку "where" во вложенном запросе на
ХозрасчетныйСубконто2.Значение.Владелец=ХозрасчетныйСубконто.Значение.Владелец
но увы.. результат какойто не предсказуемый, я непонимаю что оно в итоге отбирает ...
переписать по запросу через другое субконто не предлагать т.к. "Владелец" лишь взят для примера, а надо по другому обобщающему реквизиту..
хочется понять суть ошибки или глюка.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
если же попробывать связать вложенный и внешний запрос через регистратор :
select distinct
ХозрасчетныйСубконто.Период as Дата,
ХозрасчетныйСубконто.Вид,
ХозрасчетныйСубконто.Значение as Договор , ХозрасчетныйСубконто.Значение.Владелец
From
РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто
where
(ХозрасчетныйСубконто.Вид.Наименование ПОДОБНО "Договор%")
and
( (ХозрасчетныйСубконто.Регистратор) in ( Select top 1 ХозрасчетныйСубконто2.Регистратор
From РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто2
where ХозрасчетныйСубконто2.Значение.Владелец=ХозрасчетныйСубконто.Значение.Владелец
order by ХозрасчетныйСубконто2.Период
)
)
данный запрос вещает систему намертво с загрузкой 100% ..
пойду покурю профайлер ибо логика отказывает уже
буду признателен за ценные мысли
на всяк случай : 8.1.11 на SQL2005
select distinct
ХозрасчетныйСубконто.Период as Дата,
ХозрасчетныйСубконто.Вид,
ХозрасчетныйСубконто.Значение as Договор , ХозрасчетныйСубконто.Значение.Владелец
From
РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто
where
(ХозрасчетныйСубконто.Вид.Наименование ПОДОБНО "Договор%")
and
( (ХозрасчетныйСубконто.Регистратор) in ( Select top 1 ХозрасчетныйСубконто2.Регистратор
From РегистрБухгалтерии.Хозрасчетный.Субконто as ХозрасчетныйСубконто2
where ХозрасчетныйСубконто2.Значение.Владелец=ХозрасчетныйСубконто.Значение.Владелец
order by ХозрасчетныйСубконто2.Период
)
)
данный запрос вещает систему намертво с загрузкой 100% ..
пойду покурю профайлер ибо логика отказывает уже
буду признателен за ценные мысли
на всяк случай : 8.1.11 на SQL2005
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот