2013-10-10 2 views
1

저는 아직 액세스 할 수 없으므로 저와 함께주십시오.가장 높은 수준의 연락처 만 당겨

우리 데이터베이스에는 회사 계정이 있으며 회사 계정 내에 1-4 개의 연락처가 있습니다. 이러한 연락처는 A, B, C, & D.로 나열됩니다. 회사를 끌어와 관련된 모든 연락처를 나열하는 쿼리가 있습니다.

내 질문은 ... 최고 수준의 연락처 만 끌어 올 수있는 방법이 있습니까? 예를 들어 IF A가 없으면 B, B가 아닌 경우 C, IF C가 없으면 D?

연락처 필드의 기준이됩니까?

+0

같은 테이블 구조는 무엇입니까? 특히, 별도의 회사 및 연락처 테이블로 정규화되었거나 회사 테이블의 연락처 정보가 있습니까? 전자의 경우 개별 연락처의 수준 (A, B, C 또는 D)은 어떤 테이블에 기록됩니까? –

답변

0

GROUP BY 쿼리에서 원하는 것을 얻을 수 있다고 생각합니다. 당신을 안내 할 수있는 윤곽 만의

SELECT 
    y.company_id, 
    Min(y.contact_id) AS highest_level_contact 
FROM YourTable AS y 
GROUP BY y.company_id; 

:이 예에서는 contact_id는 A-D의 값을 보유하고있는 분야이다. 그러나 쿼리 디자이너에서 새로운 SELECT 쿼리로 시작해야합니다. 테이블과 2 개의 필드를 선택하십시오. "합계"아이콘 (그리스 문자 σ와 유사)을 클릭하고 company_id 필드의 드롭 다운에서 "그룹화"를 선택하고 contact_id 필드 아래의 "최소"를 선택하십시오.

+0

한스프 ... 너. 아르. 놀랄 만한! 고맙습니다! 그것은 완벽하게 작동했습니다! – Circus

관련 문제