Basitçe söylemek gerekirse, bu soruyu Sequel kullanarak nasıl yapabilirim?Küçük Resim: Grup ve sayıları nasıl kullanır?
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Basitçe söylemek gerekirse, bu soruyu Sequel kullanarak nasıl yapabilirim?Küçük Resim: Grup ve sayıları nasıl kullanır?
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Sorununuz, sol birleştirmenin her albüm kimliği için bir parça kimliği bulmasıdır. Çözümler: meblağların
right join
alt sorgu, devam filmi varsayarak desteklediğini: left join (select album_id, count(album_id) as count from tracks group by album_id) t on
yerine katılmak kadar from albums a, tracks t where t.album_id=a.id
bir boğaz.
DB[:albums___a].
right_join(:tracks___t, :album_id=>:id).
select_group(:a__id).
select_more{count(:t__id)}
Doğru birleştirme hakkında haklısınız, ancak düz SQL değil, Kesintisiz Ruby framework hakkında konuşuyordum. Yine de teşekkürler! – RooSoft
İç birleştirmeyi sağdaki bir birleştirmeyle değiştirdim. – RooSoft
* facepalm * ... o zaman emin değil. – zebediah49