sql >> Base de Datos >  >> RDS >> Mysql

Encuentre el registro más antiguo en una combinación entre dos tablas

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.