부모님이 학교에서 같은 학급에 다니는 모든 부모님을 찾고 싶습니다. 내가 잘못하고 있어요처럼 어떻게 든이 느낌이 나는 같은 두 번 가입 (약) 쓰고 있어요으로,SQL : 학부모가 내 부모와 같은 모든 자녀 찾기
SELECT child.* FROM child
JOIN parent ON child.ParentID = parent.ID
WHERE parent.class IN (SELECT parent1.class
FROM parent1 JOIN child1
ON parent1.id = child1.parentID
WHERE child1.ID = MyID)
,하지만 개선 할 수있는 방법을 알아낼 수 없습니다 :이 같은 쿼리를 작성할 수 있습니다 그것 (하위 쿼리를 중첩하는 다른 방법을 찾을 수는 있지만 그 중 아무 것도 깔끔하게 보이지 않습니다).
내가 누락 된 깔끔한 방법이 있습니까? 아니면이 일을 제대로하고 있습니까?
편집 : GolzeTrol은이 질문에 대한 (전체) 답변에서 지적했듯이 자녀가 한 명의 부모 만 갖는 것으로 제한 될 수 있습니다. 그는 정확하고 실제 가정에서이 쿼리를 실행하지는 않지만 각 자식이 실제로 하나의 부모와 만 연결된 다른 테이블에서 실행하려고했습니다.
고마워, 그게 내가 원하는거야. 그냥 테이블에 가입하는 것을 생각하지 않았습니다. 구조에 관해서는, 당신 말이 맞아요. 저는 실제로 아이들과 부모들을 위해 이것을하는 것이 아니지만, 아이들이 부모를 하나 밖에 가지지 않는 데이터베이스의 일부 테이블에 대해서는 질문에 메모를 할 것입니다. –