2014-02-21 2 views
2

내 DB의 특정 상황에 대한 조언을 찾고 있습니다 ...MS ACCESS - 다른 필드의 기준에 따라 테이블에서 레코드를 동적으로 검색하십시오.

지금 나는 원본에 연결되는 쿼리 데이터 테이블. 쿼리에서 그룹 ID, 하위 그룹 ID 및 해당 상태가있는 테이블이 있습니다. 그것은 그룹 ID에 의해 소스 데이터에 링크되어 있으며이를 기반으로 국가를 이끌어갑니다.

목표로하는 것은 그룹 ID별로 상태를 끌어 오지 않고 하위 그룹 ID에 키워드가 포함되어 있고 "개"라고 말하면 하위 그룹 ID로 끌어 당기는 것입니다.

iif 문을 사용하고 하위 그룹 ID에 대한 독립 실행 형 쿼리를 설정하려고했지만 빈 값이 나타납니다.

아래 예에서 레코드 1 & 4는 CA & WI를 검색합니다. 기록 2 & 3, 설명에 "Dog"가 있기 때문에 NY를 검색합니다.

내 쿼리는

ID  
1000067 Omega CA 
1000056 Epsilon FL 
2000653 Gamma TX 
2000654 Theta WI 
541111 Alpha CA 
542222 Bravo Dog NY 
546066 Echo Dog NY 
968886 Charlie FL 

정말 진행하는 최선의 방법에 어떤 도움이나 생각을 주셔서 감사합니다, 그래서 같이

Group ID  Subgroup ID  State 
1 1000067 Omega  541111 Aplha 
2 1000056 Epsilon  542222 Bravo Dog 
3 2000653 Gamma  546066 Echo Dog  
4 2000654 Theta  968886 Charlie 

& 참조 테이블은 다음과 같습니다 조직입니다!

+0

의 예를 보여주십시오 원하는 결과 및 작성한 모든 SQL 코드 이 문제를 해결할 수 없게됩니다. –

+0

Hi Gordon, 원하는 결과는 Record # 1 = CA, Record # 2 = NY, Record # 3 = NY, Record # 4 = WI입니다. 불행히도 SQL 지식은 제한되어 있지만 (매일 더 많이 배우고 있습니다!) 필드에서 IIF 문을 사용하여이 문제를 해결하려고 시도했지만 원하는 결과를 얻지 못하는 것 같습니다. –

답변

0

본질적으로 원하는 것은 "개"쿼리 하나와 "개가 아닌"쿼리 한 두 개의 약간 다른 쿼리를 실행하고 결과를 병합하는 것입니다. UNION 쿼리가이를 수행 할 수 있습니다. 우리의 주요 테이블 [dogMain]

Record_ID Group_ID   Subgroup_ID  
--------- --------------- ----------------- 
     1 1000067 Omega 541111 Alpha  
     2 1000056 Epsilon 542222 Bravo Dog 
     3 2000653 Gamma 546066 Echo Dog 
     4 2000654 Theta 968886 Charlie 

우리의 참조 테이블은 [dogRef]

ID     State 
----------------- ----- 
1000067 Omega  CA 
1000056 Epsilon FL 
2000653 Gamma  TX 
2000654 Theta  WI 
541111 Alpha  CA 
542222 Bravo Dog NY 
546066 Echo Dog NY 
968886 Charlie FL 

쿼리

SELECT dogMain.Record_ID, dogRef.State 
    FROM dogMain INNER JOIN dogRef ON dogRef.ID = dogMain.Group_ID 
    WHERE dogMain.Subgroup_ID NOT LIKE '*dog' 
UNION ALL 
    SELECT dogMain.Record_ID, dogRef.State 
    FROM dogMain INNER JOIN dogRef ON dogRef.ID = dogMain.Subgroup_ID 
    WHERE dogMain.Subgroup_ID LIKE '*dog' 
ORDER BY 1 

반환

Record_ID State 
--------- ----- 
     1 CA 
     2 NY 
     3 NY 
     4 WI 
+0

고마워, 내가 뭘 하려던거야! –

관련 문제