sql - 如何使用 Lumen 计算 PostgreSQL 中的数据在字段中显示 count_apply
问题描述
我想再次询问有关带有框架 Lumen 的 PostgreSQL。我在同一个表中有一个带有实现克隆的表。对于差异,我将 parent_id 用于克隆行,id 上的真实数据引用。我计算另一个表中的数据,但只计算克隆数据而不是真实数据。
这是结果查询的图像:
克隆数据有 count_apply 但我希望 count_apply 也显示在真实数据中。我想要这样的结果:
如何查询该数据?这是我的代码。
select
"requisitions"."id",
"requisitions"."title",
"requisitions"."parent_id",
(select count(id) from requisition_users where requisition_id = requisitions.id) AS count_apply,
"requisitions"."status"
from
"requisitions"
inner join "users" on "requisitions"."created_by" = "users"."id"
inner join "companies" on "requisitions"."company_id" = "companies"."id"
-- inner join "requisition_users" on "requisitions"."id" = "requisition_users"."requisition_id"
where
"requisitions"."entity_id" = 1
-- and "requisitions"."parent_id" is not null
-- and "requisitions"."status" >= 5
-- and (select count(id) from requisition_users where requisition_id = requisitions.id) > 0
-- and "requisitions"."parent_id" = "requisitions"."id"
and "requisitions"."deleted_at" is null
解决方案
由于我不知道您的表的数据结构,因此我编写了一个外部查询来获得您想要的结果。请试试这个,如果您遇到任何困难,请告诉我:
select
"id",
"title",
"parent_id",
(case when count_apply>0 then count_apply else max(count_apply)over(partition by "title") end)count_apply,
"status"
from
(select
"requisitions"."id",
"requisitions"."title",
"requisitions"."parent_id",
(select count(id) from requisition_users where requisition_id = requisitions.id) AS count_apply,
"requisitions"."status"
from
"requisitions"
inner join "users" on "requisitions"."created_by" = "users"."id"
inner join "companies" on "requisitions"."company_id" = "companies"."id"
-- inner join "requisition_users" on "requisitions"."id" = "requisition_users"."requisition_id"
where
"requisitions"."entity_id" = 1
-- and "requisitions"."parent_id" is not null
-- and "requisitions"."status" >= 5
-- and (select count(id) from requisition_users where requisition_id = requisitions.id) > 0
-- and "requisitions"."parent_id" = "requisitions"."id"
and "requisitions"."deleted_at" is null)t
推荐阅读
- game-engine - UE4 的编辑器在 Intel Macbook Air (BigSur) 上的加载不超过 18%
- microsoft-graph-api - 我们如何知道通过 ms graph api 收到了关于团队的新回复消息
- javascript - 更改图表失败
- python - 获取浮点值的 bincount
- stream - Twilio Flex。代理接受任务后启动流
- reactjs - 如何使用 React Hooks [TypeScript] 创建全局状态
- angular - 业力控制台显示错误,即使所有测试都已通过
- kotlin - 在 tomcat 服务器上休息 Api SSL
- azure - 使用 Azure Lighthouse 授予对加入域的 VM 的访问权限
- python - 如何访问 Qthread 中包含的多处理工作程序本身的变量?