I tabellen dotdocs ligger alla dokumentposter och i tabeller dotrevs ligger alla revisionanteckningar. Min tanke med frågan är att jag ska plocka ut alla ritningar som är uppdaterade efter en given datum, skicka med vem som har uppdaterat den, revsiontext osv. <code>Select - sats. Två sammakopplade tabeller.
För varje dotdoc.id finns det ett antal dotrevs.revid. Hur plockar man ut det högsta dotrevs.revid för varje dotdoc.id.
select DOTDOCS.KEYA,
DOTDOCS.REV,
DOTREVS.REVSIGN,
DOTREVS.REVTEXT,
DOTDOCS.DENOM1,
DOTDOCS.KEYA01,
DOTDOCS.DENOM4
from DOTDOCS,
DOTREVS
where ((DOTDOCS.ID=DOTREVS.DOTDOC_ID)
AND (DOTDOCS.PROJPHASE=DOTREVS.DOTDOC_PROJPHASE)
AND (DOTDOCS.REV=DOTREVS.DOTDOC_REV)
AND (DOTDOCS.COTPROJ_PROJID=DOTREVS.DOTDOC_PROJID)
AND (DOTDOCS.COTCAT_CATEGORY1='PFS')
AND (DOTDOCS.LASTREV = 'Y')
AND (DOTDOCS.DATE2>'2003-09-08'))
and dotrevs.revid in (SELECT MAX(dotrevs.revid) from dotdocs, dotrevs where DOTDOCS.ID=DOTREVS.DOTDOC_ID
AND DOTDOCS.PROJPHASE=DOTREVS.DOTDOC_PROJPHASE
AND DOTDOCS.REV=DOTREVS.DOTDOC_REV
AND DOTDOCS.COTPROJ_PROJID=DOTREVS.DOTDOC_PROJID)
order by dotrevs.revidSv: Select - sats. Två sammakopplade tabeller.
select DOTDOCS.KEYA,
DOTDOCS.REV,
DR.REVSIGN,
DR.REVTEXT,
DOTDOCS.DENOM1,
DOTDOCS.KEYA01,
DOTDOCS.DENOM4
from DOTDOCS ,
DOTREVS as dr
where (DOTDOCS.ID=DR.DOTDOC_ID)
AND (DOTDOCS.PROJPHASE=DR.DOTDOC_PROJPHASE)
AND (DOTDOCS.REV=DR.DOTDOC_REV)
AND (DOTDOCS.COTPROJ_PROJID=DR.DOTDOC_PROJID)
AND (DOTDOCS.COTCAT_CATEGORY1='PFS')
AND (DOTDOCS.LASTREV = 'Y')
AND (DOTDOCS.DATE2>'2003-09-08'))
and dr.revid in (
SELECT MAX(dotrevs.revid)
from dotrevs
where DOTREVS.DOTDOC_ID = dr.DOTDOC_ID)
order by dotrevs.revid
</code>