SEQUEL - 子查询计数语法

时间:2013-12-14 22:42:13

标签: ruby sequel

任何人都可以帮助我获取以下ruby orm续集的续集语法:

SELECT *, (SELECT COUNT(*) FROM todos WHERE reference_email_id = "emails".id) todo_count 
FROM "emails" 
INNER JOIN "email_participants" 
ON ("email_participants"."email_id" = "emails"."id") 
WHERE ("user_id" = 1)

我无法理解语法,到目前为止我已经知道了:

scope = Email.inner_join(:email_participants, {email_id: :id})
                  .where(user_id: query.user_id)
                  .select_append {
                    Attachment.where(reference_email_id: Sequel.qualify(:emails, :id))
                      .count(:id)
                      .exists
                      .as(:attachment_count)
                  }

我收到以下错误:

  

表格“电子邮件”LINE 1:... FROM缺少FROM子句条目   “附件”WHERE(“reference_email_id”=“电子邮件”。“...

1 个答案:

答案 0 :(得分:1)

我猜您应该删除.exists行。由于你没有发布所产生的SQL,所以很难说最终确定。