Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhiều bảng tham gia vào đường ray

Để viết lại truy vấn SQL mà bạn có trong câu hỏi của mình, tôi nghĩ nó sẽ giống như sau (mặc dù tôi đang gặp khó khăn trong việc hình dung đầy đủ các mối quan hệ mô hình của bạn, vì vậy đây là một chút phỏng đoán):

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

... sao cho joins phương thức xử lý cả hai phép nối cũng như WHERE , cuối cùng là group gọi.

Để tham khảo thêm:

Nếu bạn đang tham gia nhiều liên kết vào cùng một mô hình bạn có thể chỉ cần liệt kê chúng :

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

Nếu bạn đang tham gia các bảng lồng nhau, bạn có thể liệt kê chúng dưới dạng hàm băm:

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

Các liên kết lồng nhau, nhiều cấp:

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

Bạn cũng có thể xâu chuỗi các lệnh gọi Giao diện truy vấn ActiveRecord như sau:

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

Nếu vẫn thất bại, bạn luôn có thể chuyển trực tiếp một đoạn SQL vào joins phương pháp như một bước đệm để chuyển từ truy vấn đang làm việc của bạn sang một thứ gì đó tập trung vào ARQI hơn

   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. PHP:Truy xuất hình ảnh từ MySQL Blob trực tiếp vào thẻ <img>

  2. Trả về kết quả ngẫu nhiên (thứ tự theo rand ())

  3. Cập nhật đồng thời MySQL

  4. Điều gì đang gây ra lỗi PDO Không thể thực hiện các truy vấn trong khi các truy vấn không có bộ đệm khác đang hoạt động?

  5. Lỗi dữ liệu kết thúc sớm với PHP