如何解决如何使用criteriaQuery转换SQL查询MySQL
SELECT a.customer as customer,a.cbgroup,a.cbdept,a.buc,a.customer_group,a.product,a.valuta,a.a_amount,b.b_amount,(b.b_amount-a.a_amount) as percentage
FROM (
SELECT a.customer,a.date,SUM(a.amount) as a_amount FROM summaryfee as a WHERE a.date = '2019-06-30' AND a.cbgroup = 'CORPORATE BANKING 1' GROUP BY a.customer
) AS a INNER JOIN
(
SELECT b.customer,SUM(b.amount) as b_amount FROM summaryfee as b WHERE b.date = '2020-06-30' AND b.cbgroup = 'CORPORATE BANKING 1' GROUP BY b.customer
) AS b
ON a.customer=b.customer AND (b.b_amount-a.a_amount) < 0 ORDER BY CASE WHEN a.customer NOT LIKE '%Transaksi Nasabah%' THEN 0
ELSE 1
END,percentage asc LIMIT 5
解决方法
您可以将JPQL查询重写为标准查询,但不能重写任何本机SQL查询。
上面的查询一目了然的问题是在FROM子句中使用了子查询。
JPQL查询语言和标准至少查询2.1 JPA规范,仅在WHERE和HAVING子句中支持子查询。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。