Hello Alvin,
As far as I understood, you want to pick the most recent date for CreatedDate column in your subquery.
I don't know your datamodel neither your data, but I'm assuming that you have an User column in your UserSMSRespond entity (from what you described above).
Maybe, you can try to implement your subquery as:
SELECT {UserSMSRespond}.[User], MAX({UserSMSRespond}.[CreatedDate])
FROM {UserSMSRespond}
GROUP BY {UserSMSRespond}.User
Basically, this will group by user and get the MAX value for created date.
You could change this User column by your MobileNumber column, if the mobile number is unique per user.
Please be aware that if you are using a join clause with a subquery, you need to have an alias for that subquery.
Also, if you are going to use a specific column on your join, you need to select it in the subquery as well.
And one last thing, your subquery should be between parentheses ( ) and not braces { }.
Hope that this helps you! :)
Kind regards,
Rui Barradas