Всем доброго дня!

Подскажите пож-та, как правильней установить отбор в запросе для нахождения нескольких строк имеющую общую сумму.

Пример:

Есть таблица

01.06.2021 0:00:00 | 54 586,19
01.06.2021 0:00:00 | 644,23
01.06.2021 0:00:00 | 2 576,9
01.06.2021 0:00:00 | 83 000,5
01.06.2021 0:00:00 | 150 910
01.06.2021 0:00:00 | 95,24
01.06.2021 0:00:00 | 3 000

И есть сумма

57 163,09

Как запросом сделать отбор по сумме 57 163,09, что бы в результате получить 2 строки
---
Если только 2 строки, то...
Соединяем таблицу с самой собой БЕЗ условия соединения. Условно таблица А - соединяется с таблицей Б (Б - копия таблицы А).
Тогда на выходе каждая строка таблицы А будет соединена с каждой строкой таблицы Б.
Дальше ставим условие ЧислоВТаблицеА + ЧислоВТаблицеБ = Искомая сумма.
Это если только 2 строки...
---
это и без запросов очень нетривиальная задача. Я бы начал с написания хотя бы какого-нибудь работающего кода, а потом уже думать о запросах (сомневаюсь, что это в принципе реализуемо).
---
а зачем запросом? берем циклом первую строку и сумируем с всеми по очереди до получения результата.. если не получили то берем вторую и так далее до получения результата.
---
Тут нужно понимание принципа определения строк для подсчета.

Здесь тяжело даже решение предложить. Можно конечно получить какую-то входную информацию запросом, потом перебором пытаться определить строки, которые выдадут нужный результат.

В (3) уже дали пояснение.

Только здесь не получится исключать (или очень сложно) промежуточные строки. Например, при сложении 1+2+3 получается число большее, чем надо. Что делать дальше? Исключить первую строку из расчета и далее пытаться суммировать 2+3+4, либо отсекать ту, на которой сумма превысила требуемое значение, т.е. далее анализировать сумму 1+2+4...
---
так написано что строки надо получить 2... поэтому каждая по очереди с каждой циклом.. или поиск недостающей суммы запросом...
---
упустил момент про 2 строки
---
ну а если запросом то можно из суммы по очереди вычитать строки и искать остаток запросом в таблице.... (но это уже костыли какието..)
---
угу, а если строки будут 53, 2, 2, то какой ответ верный? 1+3 или 1+2?
а так да. самое верное - n**2 , цикл ч от 1 до М и вложенный цикл 2 от ч до М
имхо
---
ну теоретически можно записывать варианты ответов подходящих в нутри цикла в временную таблицу и потом предлагать.. все легко решаемо.
---
Согласен, можно попробовать.
---
Если только 2 строки, то...
Соединяем таблицу с самой собой БЕЗ условия соединения. Условно таблица А - соединяется с таблицей Б (Б - копия таблицы А).
Тогда на выходе каждая строка таблицы А будет соединена с каждой строкой таблицы Б.
Дальше ставим условие ЧислоВТаблицеА + ЧислоВТаблицеБ = Искомая сумма.
Это если только 2 строки...
---
При таком подходе стоит учитывать, что одна и та же строка будет соединяться сама с собой, и может попасть в выборку по условию подходящей суммы.
---
Идеально! Огромное спасибо! Работает.
---
Ммм... т.е. если необходимая сумма будет складываться из 3х и более, то вам такой вариант не надо учитывать?
---
Конечно нужно. Главное на мысль уже натолкнули.
---
Предложенным способом вы все варианты сочетаний не отследите при достаточно большой количество записей.
---
Может Вы что то более оптимальное можете посоветовать.
---
Нет. Я как раз полностью согласен с первым ответившим вам. Как то решал подобную задачу. Но у меня было ограниченное количество записей. Достаточно было рекурсивного перебора.
+ результат получался не точным соответствием нужной сумме, а с допустимым приближением.
Запросом не решается подобная задача в общем случае.
---
https://infostart.ru/1c/articles/437890/