Sql Ruby Sequel子查询发生在主查询之前
有人能帮我解决这个问题吗 我需要将以下sql代码翻译成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_
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代码