从另一列中查找所有子字符串 - ms access

问题描述

tblCode一个虚拟表,我想从中提取记录。应在 code 中逐行检查每个 subcode 值(示例 32),如果在字符串的任何部分找到,则应返回所有记录。

+----+------+----------+
| ID | code |  subCode |
+----+------+----------+
| 1  |      | 234322   |
+----+------+----------+
| 5  | 32   | 8999999  |
+----+------+----------+
| 2  |      | 32       |
+----+------+----------+
| 7  |      | 45       |
+----+------+----------+
| 6  |      | 56565465 |
+----+------+----------+
| 3  | 45   | 6767676  |
+----+------+----------+
| 4  |      | 7894522  |
+----+------+----------+
| 8  |      | 83       |
+----+------+----------+

例如,当我运行以下查询时,我得到 2 条记录

`SELECT * from tblCode where subCode like '*45*'`

enter image description here

实际的桌子很大,有几个 codesubCode。 我尝试了以下查询,但返回了不正确的结果

`SELECT * from tblCode where subCode like '*'& code &'*'`

解决方法

笛卡尔(乘法)查询可以:

SELECT 
    tblCode.ID,tblCode_1.code,tblCode.subCode
FROM 
    tblCode,tblCode AS tblCode_1
WHERE 
    tblCode_1.code Is Not Null AND 
    tblCode.subCode Like "*" & [tblCode_1]![code] & "*";

输出:

enter image description here