2017-05-22 1 views
0

그래서 두 테이블 인 tblMaster와 Software가 있습니다.와일드 카드에서 MS 액세스 조인

이러한 테이블을 와일드 카드 조인으로 조인하고 싶습니다. 내 테이블은 그렇게 형식화되어 있습니다.

tblMaster

|ID|Title       |type|state| 
------------------------------------------------ 
|1 |Adobe Reader     |A |Close| 
|2 |Apache HTTP Server    |A |Close| 
|3 |Multiple Mozilla Products  |A |Open | 
|4 |Microsoft Windows File Handling |A |Open | 
|5 |Microsoft Windows Client Server |A |Open | 
|6 |HP Printer      |A |Open | 
|7 |Adobe Acrobat     |A |Close| 

소프트웨어는 다음

|SWID|Software Title |location| 
---------------------------------- 
|1 |Adobe Reader  |1| 
|2 |Apache   |1| 
|3 |Mozilla   |1| 
|4 |Microsoft Windows |2| 
|5 |HP    |3| 

내 시도 :

SELECT * FROM Software 
left Join tblMaster on Software.[Software Title] like "*" & tblMaster.Title & "*"; 

하지만이 작업을 수행 할 때이 오류가 :

는 (""& tblMaster.Title & ""와 같은 소프트웨어. 소프트웨어 제목]) 메모, OLE 또는 하이퍼 링크 개체에 가입 할 수 없습니다.

답변

1

와일드 카드에 가입 할 수 없습니다, 그래서 이것은 창조성의 비트가 필요합니다 실제로 다음

SELECT * 
FROM Software 
Left Join (SELECT tblMaster.*, Software.[SWID] 
FROM tblMaster, Software 
WHERE [Software Title] LIKE "*" & tblMaster.Title & "*") 
AS A 
ON A.[SWID] = Software.[SWID] 

이 첫 번째 링크 가능한 모든 조인을하고, 필드를 조인합니다. [Software Title]을 두 번보고하고, 이것이 문제가되는 경우 조정하십시오.

내부 조인이 정상이면 하위 쿼리 만 사용할 수 있습니다.

+0

미안해. 돌아 오기에는 너무 오래 걸렸어. 나는 해결책을 원하지만 여전히 메모, OLE 또는 하이퍼 링크에 참여할 수 없다 (소프트웨어. [소프트웨어 제목] = A. [소프트웨어 제목]) 오류 – 1122335

+0

편집 된 답변을 지금 사용해보십시오. 다른 필드에서 조인하지만 내부 쿼리 (괄호 사이)의 소프트웨어 제목을 실제로 비교합니다. 그래도 작동하지 않으면 표 구조 (각 열의 유형, 스크린 샷 또는 서면)를 게시하십시오. –

1

이 작업을 시도 할 수 있습니다 :

SELECT 
    Software.* 
FROM 
    Software, 
    tblMaster 
WHERE 
    Software.[Software Title] Like "*" & tblMaster.Title & "*"; 
+0

왼쪽 조인이 아니라 내부 조인입니다. –

+0

참이지만 tblMaster의 필드는 필요하지 않습니다. – Gustav

+0

질문에서 선택된 컬럼은'Software. *, tblMaster. *'와 같은 일반적인 와일드 카드이며 tblMaster의 필드가 요청되지 않았더라도 조인되지 않은 소프트웨어의 필드는 where 조건을 충족시키지 못합니다 . –

관련 문제