2012-06-04 11 views

Respuesta

0

Su problema es que la combinación de la izquierda encuentra una ID de pista para cada ID de álbum. Soluciones:

right join

subconsulta de sumas, suponiendo que soporta secuela: left join (select album_id, count(album_id) as count from tracks group by album_id) t on

un estrecho hasta from albums a, tracks t where t.album_id=a.id en lugar de la unión.

+0

Tienes razón sobre la combinación correcta, pero estaba hablando del marco Ruby de Sequel, no del SQL simple. ¡Gracias de cualquier manera! – RooSoft

+0

He editado la pregunta para reemplazar la unión interna por una unión a la derecha. – RooSoft

+0

* facepalm * ... no estoy seguro entonces. – zebediah49

5
DB[:albums___a]. 
    right_join(:tracks___t, :album_id=>:id). 
    select_group(:a__id). 
    select_more{count(:t__id)} 
Cuestiones relacionadas