Einfach ausgedrückt, wie kann ich diese Abfrage mit Sequel tun?Fortsetzung: Wie Gruppe zu verwenden und zu zählen
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Einfach ausgedrückt, wie kann ich diese Abfrage mit Sequel tun?Fortsetzung: Wie Gruppe zu verwenden und zu zählen
select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Ihr Problem ist, dass der linke Join eine Track-ID für jede Album-ID findet. Lösungen:
right join
Unterabfrage von Summen, Fortsetzung der Annahme unterstützt, dass: left join (select album_id, count(album_id) as count from tracks group by album_id) t on
eine Straße bis from albums a, tracks t where t.album_id=a.id
anstelle der Verbindung.
DB[:albums___a].
right_join(:tracks___t, :album_id=>:id).
select_group(:a__id).
select_more{count(:t__id)}
Sie haben Recht mit dem richtigen Join, aber ich sprach über das Sequel Ruby Framework, nicht einfach SQL. Danke trotzdem! – RooSoft
Ich habe die Frage bearbeitet, um den inneren Join durch einen rechten Join zu ersetzen. – RooSoft
* facepalm * ... nicht sicher dann. – zebediah49