Wenn Sie LEFT JOIN
den beiden Tabellen können Sie den ORDER BY
verwenden Klausel, um das zu tun, was Sie brauchen:
SELECT *
FROM
questions
LEFT JOIN results
ON results.q_id = questions.id
ORDER BY
ISNULL(results.id) DESC, results.created ASC
LIMIT 1
Dadurch werden alle Fragen, die keine Ergebnisse haben, an den Anfang der Liste gesetzt, gefolgt von einer Liste aller Fragen mit Ergebnissen (in der Reihenfolge „älteste Frage zuerst“). Das LIMIT 1
zeigt nur das beste Ergebnis an - das Ihren Anforderungen entsprechen sollte.