【发布时间】:2016-05-18 11:04:03
【问题描述】:
我有以下姓名查询
@NamedQuery(name="ScInstantTrack.getCustomerDetails",
query="select b.cardDetail.mstCustomer.customerId, last_day(b.endDate), " +
"LISTAGG(b.txnId,'|') WITHIN GROUP (ORDER BY b.endDate), " +
"count(b.txnId), sum(b.amount), sum(b.balanceAmt), sum(b.redemptionAmt) " +
"from ScInstantTrack b " +
"where b.cardNo = b.cardDetail.cardBarcode " +
"AND b.cardDetail.mstCustomer.customerId = :customerId " +
"and b.startDate <= trunc(:todayDate) " +
"and b.endDate >= trunc(:todayDate) " +
"and b.cardDetail.mstStatus.statusId = 3003 group by b.cardDetail.mstCustomer.customerId, last_day(b.endDate)")
当我执行此查询时出现以下错误:
unexpected token: WITHIN
我正在使用 Oracle 数据库。
为什么我会收到此错误?如何解决这个问题?
【问题讨论】:
-
首先 - 向我们展示整个查询执行代码;其次 - 告诉我们哪个数据库在 Hibernate 引擎盖下(我猜是 Oracle)......您还可以格式化粘贴的查询 - 以提高可读性。
-
请检查我的更新问题。