尝试使用 like 语句将 Access 表与字段中的列表连接起来

Trying to join Access tables with like statement with list in field

我有一个问题,我一直在寻找解决方案,但没有用。 基础知识是我试图通过将 Table 1 字段中的值与 Table 2 中的字段进行比较来连接 Access 中的 2 个表,该字段包含与列表中其他几个数字串联的数字类型格式。 (两个字段都是文本类型)

示例。
Table1.CWT 值 = 640242
我要匹配的对应Table2.TAG_NO值=640242; 635894; 058426

以便它根据公共值(在本例中为 640242)链接两个表。
到目前为止,我已经尝试了以下方法:

LEFT JOIN [Table2] ON [Table1].CWT like '*' & [Table2].TAG_NO & '*'

LEFT JOIN [Table2] ON [Table1].CWT & '*' like [Table2].TAG_NO

我什至尝试过使用 % 而不是 *。但没有任何效果。在某些情况下,该值将是字符串中的第二个或第三个元素(上例中为 635894),因此我正在寻找适用于所有情况的选项。这类似于寻找 CONTAINS 函数的等效项,但似乎也不存在。
谁能帮帮我?
谢谢
泰德

您需要切换操作数。并确保“640242”与“6402423”不匹配,因此为两个字符串添加分隔符:

' ' & Table2.TAG_NO & ';' like '* ' & Table1.CWT & ';*'

您可以使用 Instr 函数来测试一个字符串是否存在于其他字符串中,如下所示:

Select [Table1].CWT, [Table1].OtherColumn, [Table2].Column1Needed,[Table2].Column2Needed  
From [Table1], [Table2]
Where Instr([Table2].TAG_NO,[Table1].CWT)>0

http://www.techonthenet.com/access/functions/string/instr.php