1

我有一个需要转换为 JPQL 的 SQL 查询,我开始怀疑这是否是我只需要使用本机 SQL 的情况之一。作为参考,这里是 SQL 查询。

SELECT c.title, a.approval_total, r.requested_total
FROM
   codes c
INNER JOIN
 (SELECT code_id, year, SUM(requested_amount) requestedTotal
   FROM requests
   GROUP BY code_id, year) r
 ON c.id = r.code_id
INNER JOIN
 (SELECT code_id, year, SUM(approved_amount) approvedTotal
   FROM approvals
   GROUP BY code_id, year) a
 ON c.id = a.code_id
WHERE c.title = ? AND r.fiscal_year = ? and a.fiscal_year = ?

有谁知道将像这两个这样的内联视图翻译成 JPQL 的方法?或者另一种结构查询的方式可能更容易翻译?

4

1 回答 1

0

我将首先重写 SQL 查询而不使用内联选择

不知道我写的是否正确,但它会是这样的:

SELECT c.title, sum(a.approved_amount) as approval_total, SUM(r.requested_amount) as requested_total
FROM codes c
INNER JOIN requests r ON c.id = r.code_id
INNER JOIN approvals a ON c.id = a.code_id
WHERE c.title = ? AND r.fiscal_year = ? and a.fiscal_year = ?
GROUP By r.code_id, r.year, a.code_id, a.year
于 2010-08-23T12:48:00.930 回答