Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Znajdź najstarszy rekord w łączeniu dwóch tabel

Jeśli LEFT JOIN dwie tabele, możesz użyć ORDER BY klauzula, aby zrobić to, czego potrzebujesz:

SELECT *
FROM
    questions
    LEFT JOIN results
        ON results.q_id = questions.id
ORDER BY
    ISNULL(results.id) DESC, results.created ASC
LIMIT 1

Spowoduje to umieszczenie wszystkich pytań, które nie mają wyników, na początku listy, po których nastąpi lista wszystkich pytań z wynikami (w kolejności „najstarsze pytanie od pierwszej”). LIMIT 1 będzie wyświetlać tylko najlepszy wynik - który powinien pasować do tego, czego potrzebujesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa wstawianie Hibernate Batch?

  2. Dynamiczne partycjonowanie MySQL oparte na UnixTime

  3. Nie można połączyć się z bazą danych localhost z serwera node.js

  4. Używanie podciągów w kryteriach MySQL

  5. Konkurencja na Twitterze ~ zapisywanie tweetów (PHP i MySQL)