sql сервер: выберите строки, чья сумма соответствует значению [duplicate]

На этот вопрос уже есть ответ:

Как получить строки, имеющие сумму, равную заданному значению 4 ответа

здесь столT: -

id  num
-------
 1  50
 2  20
 3  90
 4  40
 5  10
 6  60
 7  30
 8  100
 9  70
10  80

а следующее Вымышленный sql

select *
from T
where sum(num) = '150'

ожидаемый результат: -

(A)

id  num
-------
 1  50
 8  100

(В)

id  num
-------
 2  20
 7  30
 8  100

(С)

id  num
-------
 4  40
 5  10
 8  100

случай 'А' является наиболее предпочтительным!

Я знаю, что этот случай связан с комбинациями.

в реальном мире - клиент получает товары из магазина, и из-за соглашения между ним и магазином он платит каждую пятницу. например, сумма оплаты не является точной суммой предметов: он получает 5 книг по 50 € (= 250 €), а в пятницу он приносит 150 €, поэтому первые 3 книги идеально подходят - 3 * 50 = 150. нужно найти идентификаторы этих 3 книг!

любая помощь будет оценена!

Ответы на вопрос(3)

Ваш ответ на вопрос