2017-12-12 10 views
0

세 가지 쿼리가 있습니다.고객이 3 개의 쿼리에 속하는지 묻는 질문

Q1. 고객이 돈을 우리와 함께 보낸 모든 고객 레코드 (ID, 이름, 연도 금액)를 반환합니다.
Q2. 고객이 전화 번호가있는 모든 고객 레코드 (ID, 이름, 등록 연도, 번호)를 반환합니다.
Q3. 고객이 특정 제품을 구입 한 모든 고객 레코드 (ID, 이름, 연도, 금액)를 반환합니다.

모든 고객 ID, 3 개의 검색어 중 하나에 표시되는 이름 및 최근 연도를 반환하는 새로운 검색어를 원합니다. 어떻게해야합니까?

+0

소리. –

+0

너는 존재해야하는 것처럼 들린다. 그러나 포럼 가이드 라인 [최소, 완전하고 검증 가능한 예제를 만드는 방법] (https://stackoverflow.com/help/mcve)과 같은 예제는 포함되어 있지 않습니다. – Rene

답변

1

먼저 UNION을 사용하여 3 개의 쿼리 결과를 모두 합친 다음 레코드를 id으로 그룹화하고 첫 번째 이름 (또는 모든 이름이 동일해야하므로 실제로는 모든 이름)과 최대 연도를 선택하십시오.

이 시도 : 당신이 UNION 쿼리를 필요로 같은

SELECT id, FIRST(name), MAX(year) 
FROM (
    SELECT id, name, year FROM q1 
    UNION 
    SELECT id, name, year FROM q2 
    UNION 
    SELECT id, name, year FROM q3) AS q 
GROUP BY id