У нас есть числа, которые являются суммой этих целых чисел: [1, 2, 4]
Например, 3 (2 + 1), 6 (4 + 2), 5 (1 + 4), 7 (1 + 2 + 4) Номер из списка можно использовать только один раз. Их нельзя повторить.
Теперь мне нужно найти все числа, которые построены таким образом, что включает в себя 2 в их сумме.
Это то, что я написал бы для этого короткого списка :
SELECT * FROM [TABLE] WHERE number = 2
OR number - 2 + 1 = 0
OR number - 2 + 1 + 4 = 0
OR number - 2 + 4 = 0
Но предположим, что у нас есть 7 чисел в списке [1, 2, 4, 8, 16, 72, 128]
Так что писать подобное было бы явно слишком долго и мне не удается придумать какой-то алгоритм: (
Надеюсь, проблема ясна