我不知道如何删除 sql oracle pentaho cde 中的重复行
I don't know how delete repeated rows in sql oracle pentaho cde
早上好
我的问题是,我正在 pentaho 中创建一个仪表板。我不知道我是否必须使用pentaho或sql来解决问题。能够成为我更喜欢sql。我有许多行显示我用来计算不同的总和。我想要的不是显示重复的行。
sql 如下:
SELECT p.pname AS project,
t.pname AS type,
c.cname AS component,
Sum(w.timeworked / 3600) OVER (partition BY p.pname) AS suma_proyecto,
Sum(w.timeworked / 3600) OVER (partition BY p.pname,t.pname) AS suma_proyecto_tipo,
Sum(w.timeworked / 3600) OVER (partition BY c.cname,t.pname,p.pname) AS sum_by_all,
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,
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 ${Autor} = ' Todos' THEN author
ELSE ${Autor}
END)
AND p.pname= (
CASE
WHEN ${Proyecto}= ' Todos' THEN p.pname
ELSE ${Proyecto}
END)
AND t.pname=(
CASE
WHEN ${Tipo}= ' Todos' THEN t.pname
ELSE ${tipo}
END)
AND c.cname=(
CASE
WHEN ${Componente}= ' Todos' THEN cname
ELSE ${Componente}
END)
AND to_char(w.startdate,'yyyy-mm-dd') >=${FromDate}
AND to_char(w.startdate,'yyyy-mm-dd') <=${ToDate}
在 SQL 中,您可以为此目的使用 DISTINCT 关键字。
SELECT DISTINCT p.pname AS project,
t.pname AS type,
c.cname AS component,
Sum(w.timeworked / 3600) OVER (partition BY p.pname) AS suma_proyecto,
Sum(w.timeworked / 3600) OVER (partition BY p.pname,t.pname) AS suma_proyecto_tipo,
Sum(w.timeworked / 3600) OVER (partition BY c.cname,t.pname,p.pname) AS sum_by_all,
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,
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 ${Autor} = ' Todos' THEN author
ELSE ${Autor}
END)
AND p.pname= (
CASE
WHEN ${Proyecto}= ' Todos' THEN p.pname
ELSE ${Proyecto}
END)
AND t.pname=(
CASE
WHEN ${Tipo}= ' Todos' THEN t.pname
ELSE ${tipo}
END)
AND c.cname=(
CASE
WHEN ${Componente}= ' Todos' THEN cname
ELSE ${Componente}
END)
AND to_char(w.startdate,'yyyy-mm-dd') >=${FromDate}
AND to_char(w.startdate,'yyyy-mm-dd') <=${ToDate}
早上好 我的问题是,我正在 pentaho 中创建一个仪表板。我不知道我是否必须使用pentaho或sql来解决问题。能够成为我更喜欢sql。我有许多行显示我用来计算不同的总和。我想要的不是显示重复的行。 sql 如下:
SELECT p.pname AS project,
t.pname AS type,
c.cname AS component,
Sum(w.timeworked / 3600) OVER (partition BY p.pname) AS suma_proyecto,
Sum(w.timeworked / 3600) OVER (partition BY p.pname,t.pname) AS suma_proyecto_tipo,
Sum(w.timeworked / 3600) OVER (partition BY c.cname,t.pname,p.pname) AS sum_by_all,
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,
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 ${Autor} = ' Todos' THEN author
ELSE ${Autor}
END)
AND p.pname= (
CASE
WHEN ${Proyecto}= ' Todos' THEN p.pname
ELSE ${Proyecto}
END)
AND t.pname=(
CASE
WHEN ${Tipo}= ' Todos' THEN t.pname
ELSE ${tipo}
END)
AND c.cname=(
CASE
WHEN ${Componente}= ' Todos' THEN cname
ELSE ${Componente}
END)
AND to_char(w.startdate,'yyyy-mm-dd') >=${FromDate}
AND to_char(w.startdate,'yyyy-mm-dd') <=${ToDate}
在 SQL 中,您可以为此目的使用 DISTINCT 关键字。
SELECT DISTINCT p.pname AS project,
t.pname AS type,
c.cname AS component,
Sum(w.timeworked / 3600) OVER (partition BY p.pname) AS suma_proyecto,
Sum(w.timeworked / 3600) OVER (partition BY p.pname,t.pname) AS suma_proyecto_tipo,
Sum(w.timeworked / 3600) OVER (partition BY c.cname,t.pname,p.pname) AS sum_by_all,
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,
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 ${Autor} = ' Todos' THEN author
ELSE ${Autor}
END)
AND p.pname= (
CASE
WHEN ${Proyecto}= ' Todos' THEN p.pname
ELSE ${Proyecto}
END)
AND t.pname=(
CASE
WHEN ${Tipo}= ' Todos' THEN t.pname
ELSE ${tipo}
END)
AND c.cname=(
CASE
WHEN ${Componente}= ' Todos' THEN cname
ELSE ${Componente}
END)
AND to_char(w.startdate,'yyyy-mm-dd') >=${FromDate}
AND to_char(w.startdate,'yyyy-mm-dd') <=${ToDate}