我想获取表A中的所有行,其中表A.FID包含表B.primaryID中的文本。
表A
| primaryID | FID |
| 1 | Apple (5005) |
| 2 | Banana (5005) |
| 3 | Apple (2250) |
| 4 | Banana (1100) |
表B
| primaryID | Etc |
| 5005 | abc |
| 1100 | abc |
结果查询应该给我表A第1,2和4行。
我从下面的查询开始,但没有生成我需要的结果。
SELECT * FROM TableA WHERE [TableA].[FID]
LIKE “*” & [TableB].[primaryID] & ”*”;
答案 0 :(得分:1)
我认为这可以在MS Access中使用:
SELECT ta.*
FROM TableA as ta INNER JOIN
TableB as tb
ON ta.fid LIKE "*" & tb.primaryId & "*";
您需要在FROM
子句中包含两个表。
编辑:
实际上,使用exists
的公式可能更接近您的想法:
select *
from TableA
where exists (select 1
from TableB
where [TableA].[FID] LIKE "*" & [TableB].[primaryID] & "*"
);