>>Hi,
>>
>>UPDATED:
>>I have three tables. I want the SQL Select to include some records from one table, some records from the second table, but only one value from the third table, the most recent date
>>
>>Here is an example (simplified):
>>Table1
>>
>>user_name, user_pk
>>
>>So, the above ecords from the Table1 should be in the query
>>Table2
>>
>>user_pk, user_email
>>
>>The column USER_EMAIL from the second table
>>Table3
>>
>>user_name, data_in
>>
>>Date_in - the last time this user logged in.
>>So the resulting query should look something like this
>>
>>USER_1 USER_1_EMAIL USER1_LASTDATE_IN
>>USER_2 USER_2_EMAIL USER2_LASTDATE_IN
>>
>>Here is what I tried
>>
>>select Table1.USER_NAME as USER_1, MAX(USER_EMAIL) as USER_1_EMAIL, MAX(DATE_IN) AS USER1_LASTDATE_IN FROM Table1
>>LEFT JOIN Table3 on Table1.USER_NAME = Table3.USER_NAME GROUP BY Table1.USER_NAME
>>LEFT JOIN Table2 ON Table2.USER_PK = Table1.USER_PK
>>
>>The above works.
>>But I wonder if MAX(USER_EMAIL) will give the correct results. I was hoping that I could select USER_EMAIL from Table2 without MAX.
>>
>>TIA.
>
>Max(Email) may give incorrect results.
>
>I would try something like this:
>
>Group by user, order by Last Login date, take 1 per group:
>
>(sample query):
>
>select name, value
>from( select name, value, ROW_NUMBER() OVER(PARTITION BY name ORDER BY value desc) as rn
>from out_pumptable ) as a
>where rn = 1
>
First, thank you. Many of the terms in your SQL Select (e.g. PARTITION) I am not familiar with. I will Google them.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham