我有以下查询:SQL - Where Select by Select Select语句?
select r.people_code_id [People Code ID], r.resident_commuter [Campus6],
c1.udormcom [AG], aR.RESIDENT_COMMUTER [AG Bridge], ar.ACADEMIC_SESSION,
ar.ACADEMIC_TERM, ar.academic_year, ar.revision_date
from RESIDENCY r
left join AG_Common..CONTACT1 c1 on r.PEOPLE_CODE_ID=c1.key4
left join AG_Common..CONTACT2 c2 on c1.ACCOUNTNO=c2.accountno
left join AGPCBridge..ArchiveRESIDENCY aR on r.PEOPLE_CODE_ID=aR.PEOPLE_CODE_ID
where r.ACADEMIC_YEAR='2010'
and r.ACADEMIC_TERM='Fall'
and SUBSTRING(c1.udormcom,1,1)<>r.resident_commuter
and r.ACADEMIC_SESSION='Und 01'
and aR.ACADEMIC_SESSION='Und 01'
and aR.ACADEMIC_TERM='Fall'
and aR.ACADEMIC_YEAR='2010'
and SUBSTRING(c1.udormcom,1,1)=aR.RESIDENT_COMMUTER
我需要一个条款添加到哪里段。我有这个查询:
select DISTINCT * from RESIDENCY where ACADEMIC_YEAR='2010' and
ACADEMIC_TERM='Fall' and ACADEMIC_SESSION='Und 01' ORDER BY revision_date DESC
这只获得每个人的最新行。我想做类似(伪代码):
WHERE r.people_code_id and r.revision_date are in (select DISTINCT * from
RESIDENCY where ACADEMIC_YEAR='2010' and ACADEMIC_TERM='Fall' and
ACADEMIC_SESSION='Und 01' ORDER BY revision_date DESC)
我在SQL 2000兼容模式下运行(尽管它实际上运行SQL 2008)。
+1:对于表别名,并实际使用它们 – 2010-06-25 14:14:10
我不明白你的第二条语句只能得到最新的行,因为where子句与第一条语句中的相同。 (RESIDENCY明智)。 – Loxley 2010-06-25 14:19:51
@OMG Ponies - udormcom来自AG_Common..CONTACT1 – davemackey 2010-06-25 14:26:30