SELECT Idx,ID,NickName,Mobile,Cash,Level,BankOwner,RegDate,Status,SITE,nominator,point,lastlogin,
(
SELECT sum(Cash)
FROM log_cashinout
WHERE id = IU.ID
and contents = '입급'
GROUP BY id
) as "in_money",
(
SELECT sum(Cash)
FROM log_cashinout
WHERE id = IU.ID
and contents = '출금'
GROUP BY id
) as "out_money",
FROM INFO_USER IU
WHERE 1=1 ORDER BY REGDATE DESC
결과값에
(in_money - out_money) as '수익금'
입금 - 출금 = 수익금
결과값에 출력하고 싶은데 이럴경우 어떻게 해야하는지요...
Comment 3
-
촌재
2017.06.26 09:30
-
知音
2017.06.26 09:56
말씀하신 것처럼 outer join 을 사용하여 처리하시면 될 듯 합니다.
참고하세요
select iu.idx
, .......
, sum(case when lc.contents = '입금' then lc.cash else 0 end) in_money
, sum(case when lc.contents = '출금' then lc.cash else 0 end) out_money
, sum(case when lc.contents = '입금' then lc.cash else lc.cash * -1 end) suikgum
from info_user iu
left outer join log_cashinout lc
on lc.id = iu.id
group by ......
order by iu.regdate
-
길똥대왕
2017.06.26 17:35
감사합니다..
많은도움이 됐습니다..
(_ _)
서브쿼리를 left outer join으로 하시면 될거 같은 생각이 듭니다.