首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle查询with groupby子句

oracle查询with groupby子句
EN

Stack Overflow用户
提问于 2021-04-13 05:22:56
回答 1查看 21关注 0票数 0

我有一个上传表,如下所示:

bulk_upload_hist

代码语言:javascript
复制
id  file_name   doc_blob    upload_date upload_by
10  abc.pdf                 12-APR-21   123
11  xyz.pdf                 12-APR-21   123

清单历史记录存储文件中的记录,如下所示: inventory_doc_hist

代码语言:javascript
复制
id upload_id    upload_status   create_date     create_by   inv_doc_type
1   10          1               12-APR-21       123         20
2   10          1               12-APR-21       123         20
3   10          0               12-APR-21       123         10
4   10          1               12-APR-21       123         10
4   11          1               12-APR-21       123         20
5   11          0               12-APR-21       123         10

我希望每次批量上传的输出如下所示:

代码语言:javascript
复制
id  file_name   successful/10   Successful/20   UnSuccessful    upload_date upload_by
10  abc.pdf     2               1               1               12-APR-21   123
11  xyz.pdf     1               1               0               12-APR-21   123

做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-13 05:26:41

我认为您需要一个join和条件聚合:

代码语言:javascript
复制
select buh.id, buh.file_name,
       sum(case when ih.inv_doc_type = 10 then 1 else 0 end) as num_successful_10,
       sum(case when ih.inv_doc_type = 20 then 1 else 0 end) as num_successful_20,
       sum(case when ih.inv_doc_type not in (10, 20) then 1 else 0 end) as num_successful_20,
       ih.upload_date, ih.upload_by
from bulk_upload_hist buh join
     inventory_history ih
     on ih.upload_id = ih.id
group by buh.id, buh.file_name, ih.upload_date, ih.upload_by;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67065854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档