Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Benötigen Sie eine T-SQL-Abfrage, um alle möglichen Wege zu finden

Das Problem, auf das Sie sich beziehen, ist auch als Rucksackproblem bekannt . Es gibt eine Reihe von Algorithmen, die Sie verwenden können, um dies zu lösen. Die bekannteste ist die dynamische Programmierung. Sie erfordert, dass die Gewichtungen ganze Zahlen sind, sodass Sie in Cent messen müssen. Keiner von ihnen ist einfach in t-sql zu implementieren.

Ich habe tatsächlich einen Link zu jemandes Implementierung in SQL Server gefunden:http://sqlinthewild.co.za/index.php/2011/02/22/und-jetzt-für-eine-völlig-unangemessene-Verwendung- of-sql-server/

Beachten Sie den Titel, auch sie halten es für eine unangemessene Verwendung einer Datenbank. Ich würde empfehlen, dass Sie dies in einer anderen Sprache lösen.