입금, 출금, 합계 관련 쿼리 질문 드려요
본문
안녕하세요~
작업을 거듭할수록 평소 겪어보지 않았던 작업을 많이 하게되네요.
이번엔 가입 회원을 손익 별로 정렬을 하려는데요.
회원 테이블과 입출금 테이블이 분리되어 있는 상황입니다.
최고 입금액순으로 정렬은
select * , (select sum(p_money) from money_log where p_userid=member.p_userid and p_state = 1 and p_status = 'Y' ) as money from `member_list` as member where `p_status` = 'N' order by `money` DESC limit 0, 50
최고 출금액순으로 정렬
select * , (select sum(p_money) from money_log where p_userid=member.p_userid and p_state = 2 and p_status = 'Y' ) as money from `member_list` as member where `p_status` = 'N' order by `money` DESC limit 0, 50
이런식으로 작업을 했는데요.
어떤식으로 쿼리를 작성하면 높은 수익순으로 정렬이 가능할까요?
고수님들 알려주세요~
답변 1
입금액은 +
출금액은 - 로 처음부터 저장을 했으면,
sum() 으로 간단히 해결이 될 텐데.. 쉽지 않겠네요..^^;
아래 처럼하면 되지 않을까요? 직접 해보지 않아서 확인하진 않습니다..
select * ,
(select sum(p_money) from money_log where p_userid=member.p_userid and p_state = 1 and p_status = 'Y' ) as money1,
(select sum(p_money) from money_log where p_userid=member.p_userid and p_state = 2 and p_status = 'Y' ) as money2,
(money1-money2) as profit
from `member_list` as member where `p_status` = 'N' order by `profit` DESC limit 0, 50