In SQL find the combination of rows whose sum add up to a specific amount (or amt in other table)
- by SamH
Table_1
D_ID Integer
Deposit_amt integer
Table_2
Total_ID
Total_amt integer
Is it possible to write a select statement to find all the rows in Table_1 whose Deposit_amt sum to the Total_amt in Table_2. There are multiple rows in both tables.
Say the first row in Table_2 has a Total_amt=100. I would want to know that in Table_1 the rows with D_ID 2, 6, 12 summed = 100, the rows D_ID 2, 3, 42 summed = 100, etc.
Help appreciated. Let me know if I need to clarify.
I am asking this question as someone as part of their job has a list of transactions and a list of totals, she needs to find the possible list of transactions that could have created the total. I agree this sounds dangerous as finding a combination of transactions that sums to a total does not guarantee that they created the total.
I wasn't aware it is an np-complete problem.