Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Beberapa tabel bergabung dalam rel

Untuk menulis ulang kueri SQL yang Anda miliki dalam pertanyaan Anda, saya pikir itu harus seperti berikut (walaupun saya mengalami kesulitan memvisualisasikan sepenuhnya hubungan model Anda, jadi ini sedikit dugaan):

RagaContextApplicantsSong.
  joins(:raga_contest_applicants => [:raga_content_rounds], :contest_cat).
  group('raga_contest_rounds.contest_cat_id')

...sehingga joins metode menangani kedua gabungan serta WHERE klausa, diikuti akhirnya oleh group panggilan.

Sebagai referensi lainnya:

Jika Anda menggabungkan beberapa asosiasi ke model yang sama Anda cukup mencantumkannya :

Post.joins(:category, :comments)
Returns all posts that have a category and at least one comment

Jika Anda bergabung dengan tabel bersarang, Anda dapat mencantumkannya seperti dalam hash:

Post.joins(:comments => :guest)
Returns all comments made by a guest

Asosiasi bertingkat, beberapa level:

Category.joins(:posts => [{:comments => :guest}, :tags])
Returns all posts with their comments where the post has at least one comment made by a guest

Anda juga dapat menyambungkan panggilan Antarmuka Kueri ActiveRecord sedemikian rupa sehingga:

Post.joins(:category, :comments)
...produces the same SQL as...
Post.joins(:category).joins(:comments)

Jika semuanya gagal, Anda selalu dapat melewati fragmen SQL langsung ke joins metode sebagai batu loncatan untuk beralih dari kueri kerja Anda ke sesuatu yang lebih berpusat pada ARQI

   Client.joins('LEFT OUTER JOIN addresses ON addresses.client_id = clients.id')
=> SELECT clients.* FROM clients LEFT OUTER JOIN addresses ON addresses.client_id = clients.id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Urutkan Berdasarkan 2 Kolom

  2. Apakah mysql_insert_id aman digunakan?

  3. Kueri teks lengkap dengan satu kutipan

  4. Bagaimana cara mengunci database mysql secara eksklusif?

  5. Laravel:Bagaimana cara menghapus baris dari beberapa tabel dengan id yang sama dengan hanya 1 kueri?