mysql 질문드립니다.
본문
mb_member : 회원테이블
mb_pay : 회원구매테이블
mb_member 테이블은
mb_key,mb_name이 있고
ex)
mb_key / mb_name
1 / 홍길동
2 / 김영희
이고,
mb_pay 테이블은
mb_key,mb_pay 컬럼이 있으며
ex)
mb_key/ mb_pay
1 / 2020-01-01
1 / 2020-01-02
1 / 2020-01-03
2 / 2020-01-01
2 / 2020-01-02
이런식으로 쌓여있습니다.
출력하고자하는것은
이름 구매일
홍길동 처음구매일 / 마지막 구매일
김영희 처음구매일 / 마지막 구매일
입니다.
제가 생각해본 코드는
select a.mb_name,b.mb_pay
from mb_member as a left join mb_pay as b
on a.mb_key = b.mb_key
우선 join으로 2개를 묶었는데
어떤식으로 한사람에 대해 처음구매일이랑 마지막구매일을 구해서 출력해야될지 모르겠네요.
홍길동 / 최초구매일 / 마지막 구매일 이런식으로 db에 들어가있으면 모르겠는데
홍길동 최초구매일
홍길동 마지막구매일
김영희 최초구매일
김영희 마지막구매일
이런식으로 4개가 나올텐데 이걸 어떻게 출력시킬수있을까요?
!-->답변 1
SELECT A.mb_name,
( SELECT MAX(mb_pay) FROM mb_pay as B where B.mb_key = A.mb_key ) as max,
( SELECT MIN(mb_pay) FROM mb_pay as B where B.mb_key = A.mb_key ) as min
from mb_member as A
답변을 작성하시기 전에 로그인 해주세요.