이 같은 간단한 데이터베이스 스키마를 가지고 : Child one----many SchoolPreferences
그룹을 선택하는 경우에만
어린이 표는 구성이입니다
PreferenceId, ChildId, PreferenceNumber, SchoolName
:
ChildId, Name, Surname, Age
SchoolPreferences의 구성 학교에 대한 재교육. 각 어린이는 원하는 곳에 최대 3 개 학교를 선택할 수 있습니다. PreferenceNumber 1에 합격하면 학교로갑니다. PreferenceNumber 2에 도달하지 못하면 PreferenceNumber 2에 도달하고 그곳에서 실패하면 마지막 기회는 세 번째 선호 학교에 있습니다.
PreferenceNumber 1로만 선택한 학교를 선택해야합니다. 따라서 어떤 어린이가 학교를 PreferenceNumber 2 또는 3으로 선택하면 결과에 나타나지 않아야합니다.
지금까지 개별 행을 선택하는 방법 만 알고 있었지만 필요한 것은 그룹을 필터링하여 각 학교가 그룹이고 환경 설정> 1 인 경우이 전체 그룹이 결과에 나타나서는 안됩니다.
은 지금까지 나는이 문제를 가지고 있지만, 내가 말했듯이 그것은 단지 개별 행이 아닌 학교 일 :
select SchoolPreferences.PreferenceId,
Children.name,
Children.Surname
from Children
inner join SchoolPreferences on Children.ChildId = SchoolPreferences.ChildId
group by SchoolPreferences.PreferenceId,
Children.name,
Children.Surname
having (((SchoolPreferences.PreferenceNumber) = 1));
감사가
Children
테이블에 가입 할 수있다 , 큰 작품 :) – FCin