Creating an SQL view that pulls the oldest record per claimid

Posted on 2007-12-04
Last Modified: 2012-06-22
I'm having trouble creating a view that will pull the oldest record on each file in a table so that I can report on it.
A sample of what the table looks like is below. What I need to do is capture the reserve amount of the oldest historydate for each claimid.

claimid    historydate    reserveamount
111222  Aug 1 2004    40.00
111222  Aug 2 2005    4000.00
111222  Sep 1 2007     365.40
333333  Jan 4 2006     1000.00
333333  Jan 6 2006      1040.00
999999  Nov 1 2007     5000.00
250000  Jan 20 2007    10.00
250000  Jan 21 2007     20.00
250000  Jan 22 2007     0.00

The result from the view on the above sample table should return this:
claimid    historydate    reserveamount
111222  Aug 1 2004    40.00
333333  Jan 4 2006     1000.00
999999  Nov 1 2007     5000.00
250000  Jan 20 2007    10.00

Can anyone help me write this? I tried top(1)* but that just pulls the top one from the entire table not the top one per claimid.
Question by:boukaka
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 21

Accepted Solution

mastoo earned 500 total points
ID: 20405002
Select mt.claimid, mt.historydate, mt.reserveamount
  From mytable As mt Join ( Select claimid, max( historydate ) As MaxHistory
    From mytable ) As T2
    On mt.claimid = T2.claimid And mt.historydate = T2.MaxHistory
LVL 75

Expert Comment

by:Anthony Perkins
ID: 20405053
Just a minor correction.  No points please:

Select mt.claimid, mt.historydate, mt.reserveamount
From mytable As mt
      Join (
            Select claimid, max( historydate ) As MaxHistory
            From mytable
            Group By claimid) As T2 On mt.claimid = T2.claimid And mt.historydate = T2.MaxHistory
LVL 21

Expert Comment

ID: 20405116
Thanks.  Once I go beyond 2 lines of code there's bound to be an error :-)

Author Closing Comment

ID: 31412641
Oh wow, you're a lifesaver! thank you SO much!!

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Composite queries are used to retrieve the results from joining multiple queries after applying any filters. UNION, INTERSECT, MINUS, and UNION ALL are some of the operators used to get certain desired results.​
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Viewers will learn how the fundamental information of how to create a table.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question