我正在从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语句?
编辑:我是按日期查找最新记录(只是为了澄清)
答案 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;