【发布时间】: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