选择包含另一列中的值的所有信息
问题描述:
我想从Table A中获取表A.FID包含Table 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] & ”*”;
答
我认为这将在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] & "*"
);