Rails 4中的SQL连接计数和选择

Rails 4中的SQL连接计数和选择,sql,ruby-on-rails,join,Sql,Ruby On Rails,Join,我是SQL新手,正在尝试联接两个表以添加计数: 第一个表:Slot,第二个表:Reservation(带有列Slot\u id),以便统计与给定Slot关联的保留 group_by slots.id count reservations.id 我想用join(:user)将插槽(插槽表中的user\u id列)的用户与其电子邮件连接起来,但我无法使用此select,因为组由 select('slots.*, count(reservations.id) as res_count, use

我是SQL新手,正在尝试联接两个表以添加计数:

第一个表:Slot,第二个表:Reservation(带有列Slot\u id),以便统计与给定Slot关联的保留

 group_by slots.id
 count reservations.id
我想用join(:user)将插槽(插槽表中的user\u id列)的用户与其电子邮件连接起来,但我无法使用此select,因为组由

select('slots.*,  count(reservations.id) as res_count, users.email as email')

如何加入用户的电子邮件并仍然执行计数?

您没有提到任何关于用户和插槽之间关系的内容,但是假设每个插槽只能有一个用户,您也应该将电子邮件添加到group by语句中:

select
    s.id as slot_id,
    u.email,
    count(reservation.id) as num_reservations
from Slot s
left join Reservation r
    on s.reservation_id = r.id --assuming this is the key
left join Users u
    on s.user_id = u.id
group_by slot.id, u.email;