I needed to get SPUser object from doing a lookup using CAML query, so that I could get the user information such as email address, etc. To do that, this is the code that I used:
oList = web.Lists["Reviewers"];
SPQuery query = new SPQuery();
//do a lookup to the Reviewer list whose MosLevel2 and MosLevel3 are what being selected...
query.Query = "<Query><Where><And><Eq><FieldRef Name='MOSLevel2' /><Value Type='Lookup'>" +
ddlMosLevel2.SelectedValue + "</Value></Eq><Eq><FieldRef Name='MOSLevel3' />
<Value Type='Lookup'>" + ddlMosLevel3.SelectedValue + "</Value></Eq></And></Where>
</Query>";
SPListItemCollection result = oList.GetItems(query);
object oo = result[0]["Reviewer"];
SPFieldUserValue oReviewer = new SPFieldUserValue(web, oo.ToString());
SPUser uReviewer = oReviewer.User;
string strEmail = u.Email;
If you think this post is useful, please recommend me at the bottom of the page. ;)