sql >> Database >  >> RDS >> Mysql

Opnemen, selecteren, sorteren, beperken uit meerdere modellen (enkele zoekopdracht)

Hier is hoe ik alle benodigde modellen heb opgenomen, deze query wordt vertaald naar 5 sql-query's omdat preload niet wordt toegevoegd (wordt uitgevoerd in een afzonderlijke query).

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. Voor Nvarchar (Max) krijg ik maar 4000 tekens in TSQL?

  2. Voeg CreatedBy en CreatedOn in alle ontbrekende gegevenstabellen in SQL

  3. Waarschuwingen voor uitvoeringsplan vastleggen met uitgebreide gebeurtenissen

  4. Negeer 'views' in mysql db-back-up met mysqldump