테스트 사이트 - 개발 중인 베타 버전입니다

입금, 출금, 합계 관련 쿼리 질문 드려요 채택완료

강삼 5년 전 조회 2,452

안녕하세요~

작업을 거듭할수록 평소 겪어보지 않았던 작업을 많이 하게되네요.

이번엔 가입 회원을 손익 별로 정렬을 하려는데요.

회원 테이블과 입출금 테이블이 분리되어 있는 상황입니다.


최고 입금액순으로 정렬은 

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개

e
5년 전

입금액은 + 

출금액은 - 로 처음부터 저장을 했으면,

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

강삼
5년 전
질문 지우려고 들어왔는데 답변을 주셨네요.
답변 감사합니다.
그렇게 해봤는데요. #1054 - Unknown 칼럼 'money1' in 'field list' 라고 나오더라구요.
(money1-money2) as profit 앞으로 써봐도 그렇구요^^
e
eyekiss
5년 전
그렇군요.. 직접 이것저것 해봐야 알수 있겠네요..^^;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인