sql更复杂的查询测量

时间:2016-01-04 19:01:12

标签: sql

我有两个表(sql server),如下所示:

locations 
   id           cubicfeet   order
-------------------------------------
   1            5             1    
   2            10            1
   3            6             1

items 
   id           cubic feet    order
--------------------------------------
   1            6               1
   2            6               1
   3            6               1

我需要一个查询来告诉我所有项目是否适合所有位置(对于给定的订单)。如果所有项目都不适合1个或所有位置,那么我需要为该给定订单创建一个新位置 - 然后将任何DID适合的项目移动到新位置之前(尽可能多)。新位置也将只给予一定数量的立方英尺 - 比如17.在这个例子中,总和不起作用,因为所有3个记录都是6所以总和是18,这小于5,10的总和, 6,但体积5的位置不能适合任何项目,因为它们都是6立方英尺的体积。

1 个答案:

答案 0 :(得分:0)

我认为我能做到的唯一方法是在我的sp中创建临时表并使用while循环遍历它们并一次更新位置1以查看它是否仍然适合更多......