Una sorta di group by ma più efficace
SELECT *
,ROW_NUMBER() OVER (PARTITION BY idtestata ORDER BY ISNULL(Versione,0) DESC) AS MaxVersione
FROM table T
WHERE datacreazione BETWEEN GETDATE()-1 and GETDATE() or CONVERT(DATE,datacreazione) = CONVERT(DATE,GETDATE() )
ORDER BY idtestata,datacreazione desc
venerdì, 24 giu 2011 Ore. 10.18