我正在使用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进行了测试,结果显示:



但是,当我尝试编译时,出现以下消息:

`

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) `


那么,我在做什么错呢?

最佳答案

您尚未在报告中填写$ F {claseDocIdentidadFallecido}。
该字段名为AS DOCUMENTO

关于mysql - 在iReport中不能使用复杂的查询吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20749814/

10-11 02:41