2013-12-23 18 views
0

我与iReport的工作,我把表从数据集,它具有以下查询(查询测试,因为以后我打算添加参数):不要在iReport中处理复杂的查询?

SELECT DISTINCT claseDocIdentidadFallecido AS DOCUMENTO, 
IFNULL((SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B' 
    AND e.claseDocIdentidadFallecido='CC' AND e.mes=8), 0) AS MES1, 
IFNULL((SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B' 
    AND e.claseDocIdentidadFallecido='CC' AND e.mes=9), 0) AS MES2, 
IFNULL((SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B' 
    AND e.claseDocIdentidadFallecido='CC' AND e.mes=10), 0) AS MES3 
FROM estadisticoRD e WHERE e.codOficina='A1B' AND e.claseDocIdentidadFallecido='CC' 

好吧,我测试iReport的它表明:

enter image description here

但是,当我尝试编译,我得到以下信息:

`

net.sf.jasperreports.engine.design.JRValidationException: Report design not valid :  
     1. Field not found : claseDocIdentidadFallecido       
     2. Field not found : IFNULL( (SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B'     AND e.claseDocIdentidadFallecido='CC' AND e.mes=8 ), 0)       
     3. Field not found : IFNULL( (SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B'     AND e.claseDocIdentidadFallecido='CC' AND e.mes=9 ), 0)       
     4. Field not found : IFNULL( (SELECT e.numRegistrosReportados FROM estadisticoRD e WHERE e.codOficina='A1B'     AND e.claseDocIdentidadFallecido='CC' AND e.mes=10 ), 0) 
     at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:153)      
     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:512)      
     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)      
     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) ` 

那么,我究竟做错了什么?

+1

为什么?,你能更具体吗? –

+0

这是因为你使用claseDocIdentidadFallecido作为一个字段,你可以搜索XML代码,否则发布XML代码的报告? – Sharad

+0

为什么不把你的查询粘贴到文本字段中,然后点击'Read Fields'按钮?这样你就可以知道你的查询是否正常工作。此外,你是否先检查你的查询是否在MySQL Workbench中工作? – Rachcha

回答

0

您在报告中没有字段$ F {claseDocIdentidadFallecido}。 这个字段命名为AS DOCUMENTO