Se LEFT JOIN
le due tabelle, puoi utilizzare il ORDER BY
clausola per fare ciò di cui hai bisogno:
SELECT *
FROM
questions
LEFT JOIN results
ON results.q_id = questions.id
ORDER BY
ISNULL(results.id) DESC, results.created ASC
LIMIT 1
Ciò posizionerà tutte le domande che non hanno risultati in cima all'elenco, seguite da un elenco di tutte le domande con risultati (nell'ordine "prima la domanda più vecchia"). Il LIMIT 1
visualizzerà solo il risultato più alto, che dovrebbe corrispondere a ciò di cui hai bisogno.