在SQL Server

时间:2015-07-23 15:24:09

标签: sql sql-server

在这里需要你的帮助,下面是我需要找到匹配请求数量的示例数据。假设请求数量是90.所以在查询中可以自动搜索匹配总和数量的所有可能性。

例如,结果可以与ID组合: -

  1. 2 + 10 = 90
  2. 3 + 8 = 90
  3. 5 + 6 = 90
  4. 4 + 7 = 90
  5. 6 + 7 + 8 = 90 。 。
  6. 我理解组合公式可以在sql server中执行此操作, N!/(N-R)!(R!)。但如果我们有数千行需要找到qty匹配,它可能会减慢查询执行时间。

    但我只想找到FIRST匹配数量足够而不是生成整个组合可能性列表。

    在这种情况下,除了组合之外,您是否有任何想法或示例查询可以使查询在上述场景中运行得更快?

    +----+----------+-----+
    | ID | Material | Qty |
    +----+----------+-----+
    |  1 | A        |  90 |
    |  2 | A        |  80 |
    |  3 | A        |  70 |
    |  4 | A        |  60 |
    |  5 | A        |  50 |
    |  6 | A        |  40 |
    |  7 | A        |  30 |
    |  8 | A        |  20 |
    |  9 | A        |  20 |
    | 10 | A        |  10 |
    +----+----------+-----+
    

0 个答案:

没有答案