如何在Crystal Reports中为Ingres数据库编写SQL表达式

时间:2012-05-03 05:39:47

标签: sql crystal-reports report

我正在从Ingres数据库构建一个Crystal Report,我只需要最后7个。我希望不必为800+车辆生成所有1000多条记录,我可以编写一个SQL语句来实现以下效果:

SELECT "trigger_readings"."facility_code", "trigger_readings"."trigger_reading", "trigger_readings"."reading_date"
FROM "trigger_readings"
LIMIT 7

然而,当我尝试这个时,我收到水晶的错误信息:

  

编译SQL表达式时出错:   数据库连接器错误:'5000A:[CA] [Ingres ODBC驱动程序] [Ingres]第1行,当在目标列表中指定了列('select')时,FROM子句是必需的。 [数据库供应商代码:2103]'

有没有一种方法可以在Crystal Reports中没有SQL表达式的情况下实现这一点?如果没有,我该如何修复sql语句?

编辑:我是按日期查找最新记录(只是为了澄清)

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的Ingres?该错误消息表明您可能正在使用Computer Associates(CA)的旧版本。请注意,这可能很困难。它可以完成,如果你需要它我会给它代码。所有当前版本都使用SELECT FIRST n语法。

你说你想要的是最后一行7.这是最后七行吗?按日期排序?即最近的7行?

试试这个:

SELECT FIRST 7 tr.facility_code, tr.trigger_reading, tr.reading_date 
FROM trigger_readings tr 
ORDER BY tr.reading_date DESC;