У меня следующая проблема.Я думал, что запрос был создан правильно, но я только что проверил, что иногда результаты не соответствуют действительности.Из таблиц я видел, что иногда в таблице ассоциации узлов нет данных, поэтому
AND j.id = na.source_node_id
AND na.sink_node_entity = 'Component'
AND na.source_node_entity = 'Issue'
AND na.sink_node_id = c.id
Это не будет правдой, и я не собираю эти данные (w.timeworked, если они существуют).В этих случаях я хотел бы создать c.cname с именем «Empty» и добавить в это cname все w.timeworked, где нет данных в ассоциации узлов.Любое решение для кого-то?Затем я помещаю sql:
SELECT DISTINCT c.cname AS component,
Sum(w.timeworked / 3600) OVER () AS sum_tipo,
Sum(w.timeworked / 3600) OVER (partition BY c.cname) AS sum_by_component
FROM jira.jiraissue j,
jira.worklog w,
jira.project p,
jira.issuetype t,
jira.component c,
(SELECT source_node_id, source_node_entity,sink_node_entity
,max(sink_node_id) as sink_node_id
FROM jira.nodeassociation
GROUP BY source_node_id, source_node_entity,sink_node_entity) na,
jira.cwd_user u
WHERE w.issueid=j.id
AND j.project=p.id
AND j.id= na.source_node_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= u.lower_user_name
AND w.author in ( select distinct author from jira.worklog where author in (select distinct lower_user_name from jira.cwd_user where display_name in (${Autor})))
AND p.pname= ${Proyecto}
AND t.pname=${Tipo}
AND to_char(w.startdate,'yyyy-mm-dd') >=${FromDate}
AND to_char(w.startdate,'yyyy-mm-dd') <=${ToDate}
$ {} - это форма для передачи параметров в приложении, с которым я работаю