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 книг!
любая помощь будет оценена!