sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo obtener filas que tengan una suma igual al valor dado

El problema que desea resolver se llama subset sum problema. Desafortunadamente, es NP-complete .

Esto significa que, ya sea que use SQL o cualquier otro lenguaje para resolverlo, solo podrá resolver instancias muy pequeñas del problema, es decir, aquellas con solo unas pocas entradas en la tabla. De lo contrario, el tiempo de ejecución se volverá excesivo, ya que crece exponencialmente con el número de filas de la tabla. La razón de esto es que esencialmente no hay mejor manera de encontrar la solución que probar todas las combinaciones posibles.

Si una solución aproximada es aceptable, existe un algoritmo de tiempo polinomial, que se describe en la página de Wikipedia.