我有一个名为“Product”的表
Create table products(ProductName VARCHAR(100), Price INT, Quantity INT)
Insert into products values ('Pencil',3,20)
Insert into products values ('Rubber',4,5)
Insert into products values ('Scale',15,4)
ProductName Price Quantity
------------------------ -----------
Pencil 3 20
Rubber 4 5
Scale 4 15
以下是要求。
最多花100美元可以购买多少件物品?
我只需要输出值为26。(*20铅笔+ 5橡皮+ 1比例 *)
我不想要的项目清单,我只需要最大可能的产品。
如果表中只有以下值
ProductName Price Quantity
------------ ----------- -----------
Book 90 2
Note 120 4
我只需要退回1(* 不能购买超过1本书的产品 *)
这需要在T-SQL
中实现。我们不允许使用WHILE
或CURSOR
。
1条答案
按热度按时间uxhixvfz1#
您可以使用递归公用表表达式(CTE)来创建每种可能的情况,查询如下所示:
我使用动态SQL来创建关节,以确保不同的组合。