Si vous LEFT JOIN
les deux tables, vous pouvez utiliser le ORDER BY
clause pour faire ce dont vous avez besoin :
SELECT *
FROM
questions
LEFT JOIN results
ON results.q_id = questions.id
ORDER BY
ISNULL(results.id) DESC, results.created ASC
LIMIT 1
Cela placera toutes les questions qui n'ont pas de résultats en haut de la liste, suivies d'une liste de toutes les questions avec des résultats (dans l'ordre "la question la plus ancienne en premier"). La LIMIT 1
il n'affichera que le meilleur résultat - qui devrait correspondre à ce dont vous avez besoin.