简单地说,如何使用Sequel进行此查询?
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
答案 0 :(得分:7)
DB[:albums___a].
right_join(:tracks___t, :album_id=>:id).
select_group(:a__id).
select_more{count(:t__id)}
答案 1 :(得分:0)
您的问题是左连接会为每个相册ID找到一个曲目ID。解决方案:
right join
总和的子查询,假设续集支持:left join (select album_id, count(album_id) as count from tracks group by album_id) t on
竖起from albums a, tracks t where t.album_id=a.id
而不是加入。