2015-05-26 62 views
0

我们在pentaho CDE上设置了一个嵌套SQL查询。 查询:Pentaho CDE嵌套sql查询

select dataissue.value,count(value) as nbreticket,substring(issue.entry,1,3) 
from DataIssue,issue where field = 'version(s)_corrigée(s)' 
and dataissue.issue = issue.id and issue in (select issue 
from dataissue,issue where dataissue.issue = issue.id and value = 'récit' 
and substring(issue.entry,1,3) = 'ema') and issue in (select issue 
from dataissue,issue where dataissue.issue = issue.id and value = 'Fermée' 
and substring(issue.entry,1,3) = 'ema') and issue in (select issue 
from dataissue,issue where dataissue.issue = issue.id 
and field = 'point_d_effort' and substring(issue.entry,1,3) = 'ema') 
group by dataissue.value 

现在我们提出一个条形图部件与查询。

但条形图中没有结果。

是否Pentaho的CDE支持嵌套SQL查询

+0

您能否提供该sql的示例结果。 –

回答

0

Pentaho的CDE支持嵌套的SQL查询。

SELECT SUBSTRING(issue.entry,1,3),dataissue.value,COUNT(VALUE) AS nbreticket 
FROM DataIssue,issue WHERE FIELD = 'version(s)_corrigée(s)' 
AND dataissue.issue = issue.id AND issue IN (SELECT issue 
FROM dataissue,issue WHERE dataissue.issue = issue.id AND VALUE = 'récit' 
AND SUBSTRING(issue.entry,1,3) = 'ema') AND issue IN (SELECT issue 
FROM dataissue,issue WHERE dataissue.issue = issue.id AND VALUE = 'Fermée' 
AND SUBSTRING(issue.entry,1,3) = 'ema') AND issue IN (SELECT issue 
FROM dataissue,issue WHERE dataissue.issue = issue.id 
AND FIELD = 'point_d_effort' AND SUBSTRING(issue.entry,1,3) = 'ema') 
GROUP BY dataissue.value 

你可以把这些sql和运行看看。

如果在条形图中没有结果。

=>您可以做一件事,转到您的仪表板位置,意味着您将仪表板保存在哪个位置。

=>在这些位置CDA文件在那里。选择该CDA文件并点击“在新窗口中打开”。在出现一个新窗口并选择该查询并查看结果是否显示。

=>如果显示结果,那么在该sql中没有问题。

谢谢..

+0

谢谢你,你是正确的查询返回和cda中的空表。但它在Mysql中运行。因此,查询实际上在Mysql – iamine18

+0

工作,你可以将主sql分为三个sql的。通过在cde中使用组件的优先级来表示sql是如此运行的第一个或第二个。例如: - 如果您给予优先权,那么sql将首先执行。基于优先级sql的将执行。如果你遵循这些步骤你的问题将得到解决,我认为。如果你满意我的答案,你可以为这些答案勾选标记。谢谢.. –

+0

你可以提供更多关于如何实施的细节。以及要使用的组件。 – iamine18