| 
 Posted by Ed Murphy on 07/24/07 04:07 
Rex wrote: 
 
> I have an Address table which contains more than one addresses for a 
> particular member. I want to write a query that would only display 
> most current address. All addresses have a unique ID (addID). 
> Example: 
>  
> memberID addID  address1 
> -------- ------ -------------------------------------------------- 
> 295      69     13 Auster St 
> 295      70     465 Lorre Ct 
> 295      71     P.O. Box 321 
> 722      171    10 Hannaford Rd 
> 722      172    Dubai, United Arab Emirates 
>  
>>From the table data above. The query should only return 
>  
> memberID addID  address1 
> -------- ------ -------------------------------------------------- 
> 295      71     P.O. Box 321 
> 722      172    Dubai, United Arab Emirates 
>  
> I tried using Max and Group by function but it shows me all the rows. 
> If you can provide me with a sample code that would greatly 
> appreciated. 
 
Assuming that each member's most current address has the largest 
addID value, and that addID values are not re-used from one member 
to the next: 
 
select memberID, addID, address1 
from the_table 
where addID in ( 
   select max(addID) 
   from the_table 
   group by memberID 
)
 
[Back to original message] 
 |