If table 2 will contain only one record per user, imo the max(date) won't make sense on this table.

Is this what you want:

Get each user record from table1 where the corresponding date is the max(date) for that user and then join this record with table2 data?

.