我有一个问题,我一直在寻求解决方案,但有用。 基本的是我试图通过将表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函数的等价物,但似乎也不存在。
任何人都可以帮助我吗?
由于
泰德
答案 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