【问题标题】:Finding all possible permutations (with certain values) of multiple tables in Access在 Access 中查找多个表的所有可能排列(具有某些值)
【发布时间】:2013-12-18 03:03:45
【问题描述】:

第一次发帖,潜伏已久。我从这个网站上学到了很多东西。

好的,所以首先我已经在 excel 中创建了代码来执行此操作,但我知道它效率非常低(嵌套 for 循环)并且需要数小时才能运行(现在我运行 6 个单独的 excel 线程,它仍然需要 5-6每个线程经过大约 500 万次排列的小时数)。

我的想法是 Access 将是实现我的目标的更好方法,但我对 Access 的了解几乎为零。 (我确实将所有表格都导入了 Access 中)

基本上,我正在查看 7 个项目的 2 个标准(7 个表中的每个表中的 1 个项目),其中一个组合值必须大于特定数字,而其他组合值必须小于特定数字.也不能有重复(表之间有一些重复)。

为了更好地解释:

表 1 __ 表 2 __ 表 3 ......

1, x, y __ 1, x, y __ 1, x, y

2, x, y __ 2, x, y __ 2, x, y

.....

10, x, y __ 6, x, y __ 7, x, y

我正在寻找的是表 1 - 表 7 中没有重复项、所有 x 值加在一起 ​​> 特定数字和所有 y 值加在一起 ​​

所以最终它会想出一些看起来像这样的东西:

1, x, y

7, x, y

2, x, y

10, x, y

3, x, y

4, x, y

6, x, y

所有x的总和>指定的数字

所有y

希望这足以解释我的问题。任何帮助将不胜感激!

编辑 - 我现在得到了更多信息,感谢下面的帮助......这是我所在的位置:

使用类似于下面的联合查询。

我仍然不知道如何根据价值和成本字段的总和得出结果。我需要 value 字段总计大于特定数字,并且 cost 字段总计小于特定数字。

Select Category, Name, Value, Cost

From Table

Where Category ="1"

Union

Select Category, Name, Value, Cost

From Table

Where Category ="2"

.... ....

【问题讨论】:

  • 您是否创建了七个表,每个表都包含三个字段?如果是,表格中每个字段的名称是什么?
  • 是 - 名称、价值、成本
  • 为什么是 7 个表?你看过一个 UNION 查询吗?顺便说一句,您可以在 Excel 中使用 DAO 来运行查询 stackoverflow.com/questions/13068022/…
  • 每个表代表一个单独的类别。我猜它背后的逻辑(至少在 excel 中)是这样的,所以这些类别在经历所有排列时保持分开。只有几个表之间有重复。
  • 查看联合查询,看来这绝对是在正确的轨道上。您能否运行联合查询,以便它的结果基于它正在查找的每个字段的总和?

标签: sql ms-access permutation


【解决方案1】:

我认为您的解决方案不在 UNION 中,因为 UNION 不会对值进行分组。我认为您正在查看的查询是以下扩展到 7 个表。我做了三个,因为你可以更好地理解基础知识。

SELECT T1.NAME, T1.VALUE, T1.COST, 
       T2.NAME, T2.VALUE, T2.COST, 
       T3.NAME, T3.VALUE, T3.COST
FROM TABLE AS T1, TABLE AS T2, TABLE AS T3
WHERE T1.CATEGORY = '1'
  AND T2.CATEGORY = '2'
  AND T3.CATEGORY = '3'
  AND T1.VALUE + T2.VALUE + T3.VALUE > X
  AND T1.COST+ T2.COST + T3.COST < Y

X 和 Y 是您指定的值。您必须将它们替换为您的值。

请注意,通过这种方式,您可以将所有值放在同一行中,用于标识组。我希望这就是你想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多