Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter linhas com soma igual ao valor fornecido


O problema que você deseja resolver é chamado de soma de subconjunto problema. Infelizmente, é NP-complete .

Isso significa que, se você usar SQL ou qualquer outra linguagem para resolvê-lo, você só poderá resolver instâncias muito pequenas do problema, ou seja, aquelas com apenas algumas entradas na tabela. Caso contrário, o tempo de execução se tornará excessivo, pois cresce exponencialmente com o número de linhas na tabela. A razão para isso é que essencialmente não há melhor maneira de encontrar a solução do que tentar todas as combinações possíveis.

Se uma solução aproximada for aceitável, existe um algoritmo de tempo polinomial, que é descrito na página da Wikipedia.