2015-05-26 61 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