Одно сомнение, я не знаток sql oracle. У меня есть следующий sql:

select p.pname as Project, t.pname as Type, c.cname as component, w.timeworked/ 3600 as hours
from jira.jiraissue j,
jira.worklog w,
jira.project p,
jira.issuetype t,
jira.component c,
jira.nodeassociation na
where w.issueid = j.id
and J.PROJECT = P.ID
and na.source_node_id = j.id
AND na.sink_node_entity = 'Component'
AND na.source_node_entity = 'Issue'
and na.sink_node_id = c.id
and t.id = j.issuetype

and w.author = (case when $ {Author} = 'All' and then the author else $ {Author} ends)
and p.pname = (case when $ {Project} = 'All' then p.pname else $ {Project} final)
and t.pname = (case when $ {Type} = 'All' then t.pname else $ {type} final)
and c.cname = (case when $ {Component} = 'All' and then cname else $ {Component} final)
and to_char (w.startdate, 'yyyy-mm-dd')> = $ {FromDate}
and to_char (w.startdate, 'yyyy-mm-dd') <= $ {ToDate}

El resultado es la siguiente tabla: введите описание изображения здесь

Я хотел бы добавить столбец с суммой всех строк HORAS и еще один с суммой, сгруппированной по COMPONENTE. Может ли кто-нибудь дать мне совет, могу ли я делать то, что хочу, и как?

1
ilanas 5 Окт 2018 в 11:11

1 ответ

Лучший ответ

Здесь могут пригодиться аналитические функции:

SELECT
    p.pname AS Project,
    t.pname AS Type,
    c.cname AS component,
    w.timeworked / 3600 AS hours,
    SUM(w.timeworked / 3600) OVER () AS sum_all_hours,
    SUM(w.timeworked / 3600) OVER (PARTITION BY c.cname) AS sum_by_component
FROM jira.jiraissue j
... (the rest of your current query)
2
Tim Biegeleisen 5 Окт 2018 в 08:14