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

Uwzględnij, wybierz, sortuj, ogranicz z wielu modeli (pojedyncze zapytanie)

Oto jak dołączyłem wszystkie potrzebne modele, to zapytanie jest tłumaczone na 5 zapytań sql, ponieważ preload nie łączy się (działa w oddzielnym zapytaniu).

Message.joins("LEFT JOIN messages AS m ON messages.id != m.id 
              AND m.conversation_id = messages.conversation_id 
              AND messages.created_at < m.created_at")
       .where('m.id IS NULL')
       .joins("INNER JOIN conversation_participants AS cp 
              ON cp.conversation_id = messages.conversation_id 
              AND cp.user_id = #{user_id}")
       .order("cp.seen, cp.updated_at DESC")
       .limit(5)
       .includes(:sender)
       .includes(conversation: [{conversation_participants: :user}])



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie między wtyczką MySQL Clone a Xtrabackup

  2. gdzie jest zapisywana moja baza danych, gdy tworzę ją w MySQL?

  3. Kopia zapasowa schematu MySQL z ograniczeniami tabeli kluczy obcych

  4. Dlaczego potrzebuję OR NULL w MySQL podczas liczenia wierszy z warunkiem?

  5. CHAR() Przykłady w MySQL