0

这可能是一场噩梦。

假设我在两个不同的表中有两行数据,每行包含一个字符。A是Row1,B是Table1中的Row2,在Table2中颠倒过来。B 是第 1 行,A 是第 2 行。

我还有第三个表,其中包含三列。前两个是要连接的列,第三个是结果值,具体取决于前两列中连接的内容。

A,A= 1
A,B=.8
A,C=.2
B,A=.8
B,B= 1
B,C=.6
C,A=.2
C,B=.6
C,C= 1

本质上,我要做的是尝试通过使用 Table3 中的关联值从 Table1 和 Table2 中找到评分最高的对

A,A= 1
B,B= 1

因为匹配表 1+2 中的 A 和匹配表 1+2 中的 B。相反,我忘记了只是漫无目的地加入表格,而是得到了这个:

A,A= 1
A,B=.8
B,A=.8
B,B= 1

但是,我得到了所有可能的配对,这是行不通的。这里的问题是我不能在 Table1+2 之间进行直接 JOIN,因为 Table1 中的值可能与 Table2 不匹配,例如......

表 1 中的第 1 行和第 2 行是 A、B,表 2 中的第 1 行和第 2 行是 B、C。如果我直接 JOIN,值 A 和 C 将不会相互对齐,只剩下 B 对。

不过,我想到了另一个问题!在尝试使用子查询时,子查询将不断地重新运行......这意味着以前选择的行将在下一次再次被抓取,从而导致不正确的值。

例如,对于 A,B 和 B,C... 我希望通过子查询返回它:

A,B=.8
B,B= 1

当然,除非有办法取消某行再次使用的资格。有什么建议或想法吗?我正在使用 Access,但我确信这些概念适用于任何数据库解决方案。

4

0 回答 0