Si LEFT JOIN
las dos tablas, puede usar el ORDER BY
cláusula para hacer lo que necesita:
SELECT *
FROM
questions
LEFT JOIN results
ON results.q_id = questions.id
ORDER BY
ISNULL(results.id) DESC, results.created ASC
LIMIT 1
Esto colocará las preguntas que no tengan resultados en la parte superior de la lista, seguidas de una lista de todas las preguntas con resultados (en orden de "la pregunta más antigua primero"). El LIMIT 1
hará que muestre solo el resultado superior, que debe coincidir con lo que necesita.