Nói một cách đơn giản, làm cách nào tôi có thể thực hiện truy vấn này bằng cách sử dụng Sequel?Phần tiếp theo: Cách sử dụng nhóm và đếm
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Nói một cách đơn giản, làm cách nào tôi có thể thực hiện truy vấn này bằng cách sử dụng Sequel?Phần tiếp theo: Cách sử dụng nhóm và đếm
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Vấn đề của bạn là việc kết hợp bên trái tìm ID bản nhạc cho từng ID album. Giải pháp:
right join
subquery của khoản tiền, giả sử phần tiếp theo hỗ trợ rằng: left join (select album_id, count(album_id) as count from tracks group by album_id) t on
một eo biển lên from albums a, tracks t where t.album_id=a.id
thay vì tham gia.
DB[:albums___a].
right_join(:tracks___t, :album_id=>:id).
select_group(:a__id).
select_more{count(:t__id)}
Bạn đang đúng về việc tham gia phù hợp, nhưng tôi đã nói về khung công tác của Ruby, chứ không phải SQL thuần túy. Dù sao cũng cảm ơn bạn! – RooSoft
Tôi đã chỉnh sửa câu hỏi để thay thế kết nối bên trong bằng cách tham gia đúng. – RooSoft
* facepalm * ... không chắc chắn sau đó. – zebediah49