Запрос с подзапросом в Postgresql - PullRequest
0 голосов
/ 29 ноября 2018
select complaint_id,
       feedback,
       mobile,
       status,
       reopen,
       parent_complaint_id,
       server_time,
       completion_date, 
       Count(*)
from complaint_details_v2 
where status !=0 
group by feedback,complaint_id,mobile 
order by parent_complaint_id

Этот запрос извлекает приведенные ниже результаты

Complaint_id    Feedback    Mobile  Status  Reopen  Parent_complaint_id Server_time Completion_date count
194         Xyz         99---   3   0   194 27-08-2017  28-11-2017  1
195         Abc         99--    5   0   196 27-08-2017  28-11-2017  1
214         Dug         99- 5   1   214 27-08-2017  28-11-2017  1
1599        Dug         99- 5   0   214 27-08-2017  28-11-2017  1

Я хочу, если parent_complaint_id не повторяется, затем вставить одну запись другой таблицы, в противном случае вставить запись на основе повторяющегося parent_complaint_id.В приведенной выше выходной таблице есть два повторяемых parent_complaint, то есть «214», поэтому в другой таблице мне нужно выбрать идентификатор жалобы, статус, открыть заново, parent_complaint_id, но от имени этих parent_complaint_id будет вставлено 7 записей, как показано ниже

Complaint_id    Status  Reopen  Parent_complaint_id Server_time
194              3        0          194             27-08-2017
195              5        0          196             27-08-2017
214              5        0          214             27-08-2017
214              5        1          214             27-08-2017
214              0        0          214             27-08-2017
214              5        0          214             27-08-2017
214              5        1          214             27-08-2017
214              0        0          214             27-08-2017
214              5        0          214             27-08-2017

Вышеприведенное основано на том, что, если parent_complaint_id повторяется два раза, если parent_complaint_id повторяется 3 раза, затем вставить значение в другую таблицу, как показано ниже:

Complaint_id    Status  Reopen  Parent_complaint_id Server_time
194             3        0       194                27-08-2017
195             5        0       196                27-08-2017
214             5        0       214                27-08-2017
214             5        1       214                27-08-2017
214             0        0       214                27-08-2017
214             5        0       214                27-08-2017
214             5        1       214                27-08-2017
214             0        0       214                27-08-2017
214             5        0       214                27-08-2017
214             5        1       214                27-08-2017
214             0        0       214                27-08-2017
214             5        0       214                27-08-2017
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...