For an online store, I am looking for a request to select the best (cheapest) combination of products and packages. Very simple, the DB looks like this:
Items
Name Price
-----------
Item1 10
Item2 20
Item3 30
Item4 40
Itempackage
Name Price
-------------------
ItemPackage1 25
ItemPackage2 60
ItemPackage3 50
ItemPackageItems
ID ItemPackage Item
------------------------------------------
ItemPackageItems1 ItemPackage1 Item1
ItemPackageItems2 ItemPackage1 Item2
ItemPackageItems3 ItemPackage2 Item3
ItemPackageItems4 ItemPackage2 Item4
ItemPackageItems5 ItemPackage3 Item1
ItemPackageItems6 ItemPackage3 Item2
ItemPackageItems7 ItemPackage3 Item2
How can I get prices for all combinations or the best combination when a customer orders different items.
Examples:
Item1 + Item2 + Item3 should return ItemPackage1 + Item3
Item1 + Item3 + Item4 should return Item1 + ItemPackage2
Item1 + Item3 should return Item1 + Item3
What can SQL or Linq do to achieve this?
Thanks,
source
share