Как показать count_apply в поле из подсчета данных в PostgreSQL с помощью Lumen

все. Я хочу еще раз спросить о postgresql с фреймворком lumen. У меня есть таблица с клоном реализации в той же таблице. Для разницы я использую parent_id для строки клона, истинную ссылку на данные по id. Я считаю данные из другой таблицы, но подсчитываю только данные клона, а не истинные данные. вот изображение [результат запроса] Как показать count_apply в поле из подсчета данных в PostgreSQL с помощью Lumen

данные clone имеют 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

Спасибо тебе за помощь. Будьте здоровы

покажите нам желаемый результат

eshirvana 30.03.2021 06:54

Я уже редактировал свой пост, я добавил желаемый результат, пожалуйста, помогите мне это исправить

Shyfa Andiantono 30.03.2021 07:05
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
26
1

Ответы 1

Поскольку я не знаю структуры данных ваших таблиц, я написал внешний запрос, чтобы получить желаемый результат. Пожалуйста, попробуйте это и дайте мне знать, если у вас возникнут трудности:

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

хорошо спасибо, я попробую это решение

Shyfa Andiantono 30.03.2021 10:32

Пожалуйста, дайте мне знать, если у вас возникнут трудности.

Kazi Mohammad Ali Nur 30.03.2021 11:11

Другие вопросы по теме