Solve works directly with MaxExtraConditions (new in Mathematica 8) option set All or 1 :
Solve[y == 3 x + 5 && y == -x + 7, x, MaxExtraConditions -> All]
{{x -> ConditionalExpression[1/2, y == 13/2]}}
or solving with respect to y :
Solve[ y == 3 x + 5 && y == -x + 7, {y}, MaxExtraConditions -> 1]
{{y -> ConditionalExpression[13/2, x == 1/2]}}
ConditionalExpression is also new in M8.
In another case one has to use Eliminate :
Eliminate[ y == 3 x + 5 && y == -x + 7, {#}] & /@ {x, y}
{2 y == 13, 2 x == 1}
However using Reduce (it is more universal) there is no need for elimination of variables or using any options :
Reduce[y == 3 x + 5 && y == -x + 7, x]
y == 13/2 && x == 1/2