세 번째 테이블에 관련 분야가 없습니다있는 두 테이블에서 관련 데이터를 선택합니다 수입이 없다. 또한 한 사람에게는 많은 상, 하나의 상 또는 어떤 상도 줄 수 없습니다.쿼리는 하나 개의 테이블이 내 오라클 DB에있는 세 개의 테이블이
Surname
및 AwardDescription
을 선택해야합니다. 일부 보너스를받을 수도 있고 수입도 없으므로 수입이있는 사람 만 선택할 수 있습니다!
제 문제는 올바른 group by
문을 작성하는 것입니다. 아래에 게시 된 쿼리를 사용하고 수상 내역을 가진 사람의 성을 선택하지만이 사람의 수입에서 각 행에 대해 중복됩니다.
개인을 수입 할 때마다 행을 그룹화하고 행을 복제하지 않으려면 어떻게해야합니까? 한 사람은 여러 행에있을 수 있지만 다른 상을 수 있습니다.
SELECT DISTINCT AwardDescription, Surname
FROM Awards
INNER JOIN People ON People.IdPerson= Awards.IdPerson
INNER JOIN Earnings ON Earnings .IdPerson= People.IdPerson;
또는 다른 옵션은 EXISTS
을 사용하는 것입니다 :
같은 테이블 사이
left outer join
를 수행 왼쪽을 외부 조인. – Rahul