【发布时间】:2019-04-08 19:14:51
【问题描述】:
我正在使用 QueryDsl SQL 并且我想要 left join 一个子查询。这是纯SQL的查询
SELECT
usr.memberId,
payoutsBbf.totalPyts
FROM
users usr
LEFT JOIN
(SELECT
pyt.member_id AS mmb_id,
SUM(pyt.amount) AS totalPyts
FROM
payout pyt
WHERE
pyt.payoutPeriod < '2018-01-01'
GROUP BY pyt.member_id) AS payoutsBbf ON usr.id = payoutsBbf.mmb_id
我希望将它写在QueryDsl SQL 中,并且将子查询留在主表users 中几乎很重要,因为这只是整个复杂查询的一个sn-p。
我该如何处理
LEFT JOIN x ON部分SELECT payoutBbf.totalPyts部分中的子查询别名如何处理
【问题讨论】:
-
这里的挑战是我是
leftJoin-ing一个QUsers到一个子查询。使用Q-class 我可以使用点符号来写入.leftJoin(subquery).on(qusers.id.eq(??),但我在子查询on部分遇到了障碍
标签: java mysql spring-data querydsl