在Postgresql中使用子查询进行查询

时间:2018-11-29 11:34:07

标签: postgresql

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”,因此在其他表中我必须 选择投诉ID,状态,重新打开,parent_complaint_id,但有7条记录 将代表这些parent_complaint_id插入,如下所示

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

0 个答案:

没有答案