Question : Select TOP row in One-Many relationship - MS SQL

I have following tables

REQUEST
------------
request_seq    request_name
1                      First Request
2                      Second Request

CONTACT
------------
contact_seq     contact_name
1                       John
2                       Mike
3                       Steve

REQUEST_CONTACT
-------------------------
request_contact_seq     request_seq    contact_seq    requested_date
1                                          1                      1                1/1/2010
2                                          1                      2                1/1/2010
3                                          1                      3                1/2/2010
1                                          2                      2                1/1/2010
2                                          2                      3                2/1/2010
3                                          2                      1                2/2/2010

The output should be
request_seq          request_name      first_contact_name
1                             First Request        John
2                             Second Request   Mike

The requirement is to select the contact person who requested first. If request_contact table is joined, we would get multiple rows for every contact_seq. Experts comments plz

Answer : Select TOP row in One-Many relationship - MS SQL

I think it should be like this:
1:
2:
3:
4:
5:
6:
select a.request_seq, a.request_name, c.contact_name
from Request a
inner join request_contact b on a.request_seq = b.request_seq
inner join contact c on b.contact_seq = c.contact_seq
where c.requested_contact_seq = (select min(requested_contact_seq) from request_contact 
				where request_seq = c.request_seq)
Random Solutions  
 
programming4us programming4us