select
C.ACCOUNTNO,
C.CONTACT,
C.KEY1,
C.KEY4,
HichschoolCS.State as HighSchool,
TestSatCS.state as Test
from
contact1 C
left join CONTSUPP HichschoolCS on C.accountno=HichschoolCS.accountno
and HichschoolCS.contact = 'High School'
left join CONTSUPP TestSatCS on C.accountno=TestSatCS.accountno
and TestSatCS.contact = 'Test/SAT'
where
C.KEY1!='00PRSP'
AND (C.U_KEY2='2009 FALL'
OR C.U_KEY2='2010 SPRING'
OR C.U_KEY2='2010 J TERM'
OR C.U_KEY2='2010 SUMMER')
更新:增加了只使用最高SAT分数的例子
select
C.ACCOUNTNO,
C.CONTACT,
C.KEY1,
C.KEY4,
HichschoolCS.State as HighSchool,
TestSatCS.state as Test
from
contact1 C
left join CONTSUPP HichschoolCS on C.accountno=HichschoolCS.accountno
and HichschoolCS.contact = 'High School'
left join (SELECT MAX(state) state,
accountno
FROM
CONTSUPP TestSatCS
WHERE
contact = 'Test/SAT'
GROUP
accountno) TestSatCS
on C.accountno=TestSatCS.accountno
where
C.KEY1!='00PRSP'
AND (C.U_KEY2='2009 FALL'
OR C.U_KEY2='2010 SPRING'
OR C.U_KEY2='2010 J TERM'
OR C.U_KEY2='2010 SUMMER')