【问题标题】:How to convert sql query mysql using criteriaquery如何使用criteriaquery转换sql查询mysql
【发布时间】:2020-12-27 16:28:59
【问题描述】:

如何使用criteriaquery转换sql查询mysql这段代码:

SELECT  a.customer as customer,  a.cbgroup, a.cbdept, a.buc, a.customer_group, a.product, a.valuta,  a.a_amount, a.cbgroup, b.b_amount, (b.b_amount-a.a_amount) as percentage 
        FROM (
            SELECT a.customer, a.date, a.cbgroup, a.cbdept, a.buc, a.customer_group, a.product, a.valuta,  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

【问题讨论】:

    标签: spring jpa jpql


    【解决方案1】:

    您可以将 JPQL 查询重写为条件查询,但不能重写任何原生 SQL 查询。

    上面查询的问题是在 FROM 子句中使用了子查询。

    JPQL 查询语言和条件查询至少达到 2.1 JPA 规范,仅支持 WHERE 和 HAVING 子句中的子查询。

    【讨论】:

      猜你喜欢
      • 2019-10-07
      • 2014-10-05
      • 2021-09-15
      • 2015-04-21
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2020-07-09
      • 1970-01-01
      相关资源
      最近更新 更多