Question : SQL Query

Hello,
Have a table that is based on a report - it creates a record for each new version of the report so you could conceivably get 1 - 10+ versions of a report.  I need to eliminate all the older versions and show just the most recent.  The table is set up as:
Report_Amendment
Report_Root_ID     (original (first)report  created)
Report_New_ID
Report_OLD_ID
CREATED_DATE
ex of data below:
      46      47      46      2009-04-16 09:37:33.123
      46      48      47                 2009-04-16 09:38:13.477
      46      1167      48      2009-08-03 13:29:53.653

So I want to isolate just the most recent record but my query below does not do this, it gives me all the records except the first - I`ve tried several things but am not sure that I am thinking about this logically - can anybody give me direction...Thank you
SELECT dbo.Report_Amendment.Report_Root_ID, dbo.Report_Amendment.Report_New_ID,
dbo.Report_Amendment.Report_OLD_ID,dbo.Report_Amendment.CREATED_DATE
FROM  dbo.Report_Amendment
WHERE dbo.Report_Amendment.Report_OLD_ID <> dbo.Report_Amendment.Report_Root_ID
AND dbo.Report_Amendment.Report_Root_ID = 46
GROUP BY dbo.Report_Amendment.CREATED_DATE,dbo.Report_Amendment.Report_Root_ID,
dbo.Report_Amendment.Report_OLD_ID,dbo.Report_Amendment.Report_New_ID
HAVING dbo.Report_Amendment.Report_New_ID = MAX(dbo.Report_Amendment.Report_New_ID)

Answer : SQL Query

hmmm...not really.  what are you concerned of?  it should be a descriptive name, but you can always use restore filelistonly to get the logical names in the backup.
Random Solutions  
 
programming4us programming4us