Als je LEFT JOIN
de twee tabellen, kunt u de ORDER BY
. gebruiken clausule om te doen wat je nodig hebt:
SELECT *
FROM
questions
LEFT JOIN results
ON results.q_id = questions.id
ORDER BY
ISNULL(results.id) DESC, results.created ASC
LIMIT 1
Hierdoor worden alle vragen zonder resultaten bovenaan de lijst geplaatst, gevolgd door een lijst met alle vragen met resultaten (in de volgorde "oudste vraag eerst"). De LIMIT 1
laat het alleen het bovenste resultaat zien - dat moet overeenkomen met wat je nodig hebt.