I do not see how you can do this in a single select statement.
This is a bit confusing, but I think it might work:
SELECT External.Value as Email, City FROM Answers as External JOIN ( SELECT Answers.Value as City, Answers.User FROM Answers WHERE Answers.Field = 2 ) AS Internal ON (External.User = Internal.User) WHERE External.Field = 1
Since the column is the same, I first select an email address, and then select a city and finally join them so that they appear in the same row of results.
source share