2014-10-28 40 views
0

我想從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] & 」*」; 

回答

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] & "*" 
      ); 
相關問題