尝试将具有like语句的Access表与字段

时间:2015-05-15 19:58:23

标签: sql ms-access sql-like

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

实施例。
表1.CWT值= 640242
对应的Table2.TAG_NO值我要匹配= 640242; 635894; 058426

因此它根据公共值(在这种情况下为640242)链接两个表 到目前为止,我尝试了以下内容:

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

LEFT JOIN [表2] ON [表1] .CWT& '*'喜欢[表2] .TAG_NO

并且看起来两者之间的差异,我甚至尝试使用%而不是*。但没有任何作用。在某些情况下,该值将是字符串中的第二个或第三个元素(上例中为635894),因此我正在寻找一个适用于所有情况的选项。这类似于寻找CONTAINS函数的等价物,但似乎也不存在。
任何人都可以帮助我吗? 由于
泰德

2 个答案:

答案 0 :(得分:1)

您需要切换操作数。并确保' 640242'不匹配' 6402423',所以在两个字符串中添加分隔符:

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

答案 1 :(得分:0)

您可以使用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