【发布时间】:2016-06-03 12:34:27
【问题描述】:
如果内部连接为真,是否可以对列求和,如果另一个内部连接为真,是否可以对另一个列求和?即
SELECT t1.debit
, t2.credit
, t1.ID
, t2.ID
FROM
( SELECT SUM(booking_value) debit
, gl_acct.id_fin_gl_acct ID
FROM bookings
JOIN gl_acct
ON (CONCAT('1',gl_acct.id_fin_gl_acct) = bookings.id_debit_account)
) t1
JOIN
( SELECT SUM(booking_value) credit
, gl_acct.id_fin_gl_acct ID
FROM bookings
JOIN gl_acct
ON (CONCAT('1',gl_acct.id_fin_gl_acct)=bookings.id_credit_account)
) t2
ON (t1.ID = t2.ID)
GROUP
BY t1.ID
请解释你的答案。
【问题讨论】:
-
@spencer7593 我想得到每个用户的所有借方和贷方的总和,我看了这个answer,我写了这个查询,我将在另一个评论中发布它
-
SELECT t1.debit , t2.credit , t1.ID , t2.ID FROM ( SELECT sum(booking_value) as debit , gl_acct.id_fin_gl_acct as ID from bookings INNER JOIN gl_acct on (CONCAT('1',gl_acct.id_fin_gl_acct)=bookings.id_debit_account) )t1 INNER JOIN ( SELECT sum(booking_value) as credit , gl_acct.id_fin_gl_acct as ID from bookings INNER JOIN gl_acct on (CONCAT('1',gl_acct.id_fin_gl_acct)=bookings.id_credit_account) )t2 ON (t1.ID = t2.ID) GROUP BY t1.ID -
我觉得这个中奖了。