Po prostu, jak mogę zrobić to zapytanie za pomocą Sequel?Sequel: Jak używać grupy i liczyć
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Po prostu, jak mogę zrobić to zapytanie za pomocą Sequel?Sequel: Jak używać grupy i liczyć
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Twój problem polega na tym, że lewe połączenie znajduje identyfikator utworu dla każdego identyfikatora albumu. Rozwiązania:
right join
Podzapytanie kwot, przy założeniu, że sequel obsługuje: left join (select album_id, count(album_id) as count from tracks group by album_id) t on
cieśnina się from albums a, tracks t where t.album_id=a.id
zamiast przyłączyć.
DB[:albums___a].
right_join(:tracks___t, :album_id=>:id).
select_group(:a__id).
select_more{count(:t__id)}
Masz rację co do właściwego łączenia, ale mówiłem o strukturze rubinu Sequel, a nie prostym SQL. Dzięki i tak! – RooSoft
Edytowałem pytanie, aby zastąpić wewnętrzne sprzężenie prawym złączeniem. – RooSoft
* facepalm * ... nie jestem wtedy pewien. – zebediah49