题
- 贷款(列:标识、用户)
- 投资回报(列:id,分期付款,scheduleDate)
如果一笔贷款是要支付12分期付款,然后有12投资回报的记录贷款的身份证。
我想找到了解用户有一个scheduleDate上的总和他们所有的回报大于2000年。
SELECT user
FROM {loans} ka
WHERE
(
SELECT MAX(inst) FROM
(
SELECT SUM(installment) AS inst
FROM {payback}
WHERE id IN
(
SELECT id
FROM {loans}
WHERE user = ka.user
)
GROUP BY scheduleDate
) as t1 LIMIT 0,1
) > 2000
我得到了错误:未列'ka。用户'在'where'
解决方案
做这种工作的要求?它假设,投资回报。id是一个外国的关键参照的载荷。身份证。
SELECT
user, scheduleDate, sumInstallments
FROM
(
SELECT
l.user, pb.scheduleDate, SUM(pb.installment) AS sumInstallments
FROM
payback AS pb
JOIN
loans AS l
ON
l.id = pb.id
GROUP BY
l.user, pb.scheduleDate
) AS tempId
WHERE
sumInstallments > 2000
不隶属于 StackOverflow