mysql 질문드립니다.

mysql 질문드립니다.

QA

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 

답변을 작성하시기 전에 로그인 해주세요.
전체 113
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT