我的主Access表包含95行。一列是名称字段,每个字段中都有唯一的名称。另外两个表也有一个名称列,但是每个表中的名称字段包含一个或多个以逗号和空格分隔的名称。这些表也有不同的长度,一个有99行,另一个有33个。
我需要将这些表格中的数据链接到一个综合表格。为此,我想我想使用主表名称字段中的值进行交叉表查询。它需要搜索其他表的名称字段,以查看列出的名称之一是否匹配。
请帮忙。
答案 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?