繁体   English   中英

如何在使用nvarchar数据类型的Pentaho Report Designer中显示来自SQL Server的值

[英]How to show value from SQL Server in Pentaho Report Designer that use nvarchar data type

我是Pentaho Report DesignerSQL Server新手。 我有一个使用SQL Server 2000的数据库。 我从该数据库创建此查询:

SELECT CASE     
WHEN STATUS IS NULL THEN 'LAIN-LAIN'
ELSE STATUS
END AS STATUS, 
   CASE
WHEN COUNT(*) IS NULL THEN '0'
ELSE COUNT(*)
END AS BIL
FROM (SELECT D.DAJ_NODAFTAR
          ,(SELECT TOP 1 
                   DAJ_KLASIFIKASI
              FROM BATM112_RKDKLASIFIKASI
             WHERE DAJ_NODAFTAR = D.DAJ_NODAFTAR
             ORDER BY DAJ_TKHDE DESC) STATUS
      FROM BATM112_DES_AMJENTERA AS D
     WHERE D.DAJ_KODKAT = 'VTC') a
GROUP BY STATUS

我在Query Analyzer运行此查询,结果如我所愿:

STATUS       BIL
----------------
LAIN-LAIN    10
JK           456
TYG          6
RD           2
JKD          64
RDB          1

之后,我尝试在Pentaho Report Designer运行此查询,但得到的结果是这样的:

STATUS       BIL
----------------
             10
             456
             6
             2
             64
             1

供您参考, DAJ_NODAFTARDAJ_KLASIFIKASI使用NVARCHAR作为Data Type 尝试在Pentaho Report Designer运行此查询后,我意识到它无法显示使用nvarchar作为数据类型的变量的值。

请有人教我如何解决这个问题? 还有其他方法可以使Pentaho Report Designer显示nvarchar data type值吗?

最后,我自己得到了答案。 我只是在查询中做了些改动。 我这样改变:

SELECT CASE 
WHEN STATUS IS NULL THEN 'LAIN-LAIN'
ELSE STATUS
END AS STATUS, 
   CASE
WHEN COUNT(*) IS NULL THEN '0'
ELSE COUNT(*)
END AS BIL
FROM (SELECT D.DAJ_NODAFTAR
          ,(SELECT TOP 1 
                   CAST( DAJ_KLASIFIKASI AS VARCHAR(25) )
              FROM BATM112_RKDKLASIFIKASI
             WHERE DAJ_NODAFTAR = D.DAJ_NODAFTAR
             ORDER BY DAJ_TKHDE DESC) STATUS
      FROM BATM112_DES_AMJENTERA AS D
     WHERE D.DAJ_KODKAT = 'VTC') a
 GROUP BY STATUS

结果完美。 就像我想要的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM