Access数据库2013 - 在两个表中连接三个包含数据值列表的表

时间:2016-05-10 19:32:01

标签: database ms-access join

我的主Access表包含95行。一列是名称字段,每个字段中都有唯一的名称。另外两个表也有一个名称列,但是每个表中的名称字段包含一个或多个以逗号和空格分隔的名称。这些表也有不同的长度,一个有99行,另一个有33个。

我需要将这些表格中的数据链接到一个综合表格。为此,我想我想使用主表名称字段中的值进行交叉表查询。它需要搜索其他表的名称字段,以查看列出的名称之一是否匹配。

请帮忙。

1 个答案:

答案 0 :(得分:1)

你在寻找这个:

SELECT * FROM mainTable, Tble99Rows, Tbl33Rows 
WHERE InStr(mainTable.Name, Tble99Rows.Name) AND InStr(mainTable.Name,  Tble33Rows.Name)

? 请注意,它可能不准确,例如:它会链接名称为 Max Maxine 的记录。

对于正确的表连接,请遵循Data-Base normalization rules,在我们的案例the First rule中:关系中的所有属性都必须具有原子域。原子域中的值是不可分割的单位。

编辑:
请阅读更多内容:Is storing a delimited list in a database column really that bad?