sql >> Database >  >> RDS >> Mysql

Zoek het oudste record in een join tussen twee tabellen

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.



  1. MySQL - som kolomwaarde(n) op basis van rij uit dezelfde tabel

  2. Waarom zegt Oracle geen GROUP BY-expressie?

  3. voer een exe-bestand uit in oracle trigger

  4. Controleer welke gebruikers online zijn