, 교사, 학생, 학부모, 그래서 내가 카테고리로 Role
필드를 사용하여 학교에 관련된 모든 사람들 수집SQL 서버 자체는 가입하고 더 나는 수업이있는 학교를 가지고
테이블 USERS
년에 :
ID USERID ROLE CLASS PARENTOF SUBJECTS
13 CarolineW parent BillB
12 IsabelF parent AlexC
11 SaraW teacher MATH-3a,MATH-4a,MATH-5b
10 JohnT teacher ENG4a,GEO2a
9 MatildaW student 4a
8 JohnC student 4a
7 AlexC student 4a
6 CamillaH student 4a
5 BillB student 2a
4 AnnG student 1a
을
예를 들어 "4a"등급의 학생의 모든 학부모 또는 "4a"등급의 학생과 관련된 모든 사람 (예 : 학생, 교사 및 학부모)을 선택할 수 있기를 원합니다)
나는 ' .. 는 내가 자기 조인을 수행 할 필요가 생각이 같은 : 수행 할 m 수없는 그 클래스에 관련된 모든 사람을 선택하는 것입니다
select distinct
A1.userid,
A1.name,
A1.Role,
A1.ClassRoom
from Users A1
left join Users A2
on A1.ParentOf=A2.UserID
left join Users A3
on CHARINDEX('4a',A3.Subjects) > 0
와 그것을 작동합니다 ..하지만 난 필터 등을 추가하는 경우
누군가가 나에게 옳은 길을 표시 할 수 있습니다 .. where class='4a'
은 분명히 나에게 교사와 부모
를 표시하지 않습니다하지만 내 능력은 더 나를 더 갈 수 있습니다하지 않는다?
감사
지오
안녕을 사용하여 결과를 얻을 간단 할 것입니다! 빠른 답변을 주셔서 감사합니다 – Joe
처음에는 모든 학생을 선택하고, 두 번째는 교사, 세 번째는 부모님을 선택했습니다. 하지만 최종 목표를 달성하기 위해 개선 할 수는 없습니다. : 예 : 는 사용자가 자신의 역할에 따라 모든 관련 사용자에게 전송 선택 내가 그 사람이나 그 부모 또는 둘, 또는 자신의 교사 또는 클래스를 선택 3 개 가지 역할 이메일 것이다 학생을 선택, 모든 학생에게 이메일/학부모/모두/모든 교사/모두 3 교사 선택, 모든 학생에게 전자 우편 이메일 학생/학부모/모두/교사/모두 3 30 개의 서로 다른 쿼리 작성을 피하기 위해 어떤 접근 방식을 사용합니까? – Joe