기본 테이블을 가져 와서 여러 다른 테이블의 정보와 조인하고 원래 테이블의 행당 하나의 행을 반환하는 뷰를 만들려고합니다. 예를 들어, 내가 대학 졸업자를 취업 대학원 데이터에 맞추고 있다고 가정 해 보겠습니다. 사실, 이것이 내가하는 일이기 때문입니다. 자, 여기서 문제는 취업 및 대학원 데이터에서 여러 개의 성냥을 얻을 수 있다는 것입니다. 사람들은 한 명 이상의 고용주를 위해 일할 수도 있고, 한 대학원에 다니고 다른 한 곳으로 옮길 수도 있습니다. 이렇게하면 가입 할 때 중복 행이 만들어지며 집계 (또는 다른 방법)를 통해 제거해야합니다.다중 조인 뷰 만들기
나의 현재 솔루션은 중첩하는 것입니다 조인이 같은/쿼리 뭔가 : 이것은 말, 내가 지금보고 싶은 (더 많은 데이터에 가지고 싶어 특히, 나에게 조금 추한 것
select ID, GradYear, max(Salary) as Salary, case when sum(case when S.Year=GradYear+1 then 1 else 0 end)>0 then 1 else 0 end
from
(
select ID, GradYear, sum(case when W.Year=GradYear+1 then W.Wages else null end) as Salary
from
(
select ID, GradYear
from dbo.Students
where Graduated=1
) as G
left join dbo.Wages as W
on G.ID=W.ID
) as Inner
left join dbo.GradSchool as S
on Inner.ID=S.ID
군대에서 그들을 위해). 가입을 성취 할 수있는 더 좋은 방법이 있습니까? 만약 내가 똑바로 세 테이블을 합치면, 예를 들어 2 학년 학교 기록이 있으면 사람들의 임금을 두 배로 계산하게 될 것입니다. 해결책이 있다면 알려주세요!