Sql Ruby Sequel子查询发生在主查询之前

Sql Ruby Sequel子查询发生在主查询之前,sql,ruby-on-rails,ruby,sequel,Sql,Ruby On Rails,Ruby,Sequel,有人能帮我解决这个问题吗 我需要将以下sql代码翻译成sequel: SELECT DISTINCT sales_leads.employee_person_id, (SELECT full_name from persons WHERE sales_leads.employee_person_id=persons.id), (SELECT COUNT (sales_leads.id) from sales_leads WHERE sales_

有人能帮我解决这个问题吗

我需要将以下sql代码翻译成sequel:

SELECT DISTINCT sales_leads.employee_person_id,
    (SELECT full_name from persons 
        WHERE sales_leads.employee_person_id=persons.id),
    (SELECT COUNT (sales_leads.id) from sales_leads 
        WHERE sales_leads.employee_person_id=employees.person_id 
        AND sales_leads.status='open') AS open_leads_count,
    (SELECT COUNT (sales_leads.id) from sales_leads 
        WHERE sales_leads.employee_person_id=employees.person_id 
        AND sales_leads.status='lost' OR sales_leads.status='won') AS closed_leads_count
FROM sales_leads
JOIN employees ON sales_leads.employee_person_id=employees.person_id
ORDER BY sales_leads.employee_person_id;
这就是我到目前为止所做的:

DB[:sales_leads]
  .inner_join(:persons, id: :employee_person_id)
  .select(:full_name)
  .select_append(
    DB[:sales_leads]
      .select(:id)
      .where(Sequel[:sales_leads][:employee_person_id]=>Sequel[:persons][:id])
      .count
  ).all
但我得到了一个错误:

PG::UndefinedTable:错误:表的子句条目中缺少 “人员”第1行:…eads,其中(“销售线索”。“员工id”= “人”。。。。 ^:从“销售线索”中选择计数(*)作为“计数”,其中 (“销售线索”。“员工id”=“人员”。“id”)限制1 Sequel::DatabaseError:PG::UndefinedTable:错误:缺少FROM子句 表“人员”第1行的条目:…eads“其中 (“销售线索”。“员工id”=“人员”。。。。 ^from/home/john/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/sequel-5.5.0/lib/sequel/adapters/postgres.rb:145:in `异步执行'


您正在向select#U append调用传递的数据集上调用
Dataset#count
,并且
Dataset#count
运行一个查询。您可能需要
。选择{count(sales#U leads[:id])
而不是
。count也可以发布ruby​​代码