다음 쿼리문장 만들기에 도전해 보세요

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
다음 쿼리문장 만들기에 도전해 보세요

QA

다음 쿼리문장 만들기에 도전해 보세요

본문

한번에 주문한 상품 수가 3개 이상인

회원이 20대인 경우의 (생년월일 = 생년/월/일)

상품 나열

 

SELECT a.mb_id as mb_id, a.mb_name as name, a.mb_birth, b.mb_id as mbid, b.od_id as odid

FROM g5_member a INNER JOIN g5_shop_order b 

ON a.mb_id = b.mb_id
WHERE IF( (2014 - LEFT(a.mb_birth,4)) > 20 and (2014 - LEFT(a.mb_birth, 4)) < 30, 1, 0) = 1
ORDER BY b.od_id desc

 

위 경우로 20대 의 회원의 주문 정보까지는 가져 왔습니다.

 

이를 토대로 장바구니에서 3건 이상의 주문건에 대하여 상품 정보가 있는지 확인 후  출력 시키려고

합니다.

 

어떻게 하면 좋을까요 ?

​ 

이 질문에 댓글 쓰기 :

답변 1

서브쿼리.. 종속 쿼리 에 대해서 공부하시면 되겠습니다.

그런데 20대의 주문정보 라는건 다수의 레코드를 뜻하는데

다수의 20대 주문정보 속에서 장바구니 3건 이상의 주문건 이라는것은.. 모순입니다.

결제하면 장바구니에서 삭제되지 않나요?

 

혹은 20대 회원중 장바구니 속에 담긴 물건이 20대 회원중 구매물품중 3건이상과 겹치는 경우라 하시면

즉 20대 인기상품 이겠지요

 

select * from 장바구니 where 장바구니 속 고유번호 (od_id 같은거) = (SELECT .... 20대정보) limit 3

 

20대 회원 전체 주문내역을 먼저 뒤질것이냐 장바구니를 먼저 뒤질것이냐가 속도의 차이도 만듭니다.

영카트 테이블 구조는 잘 모르지만 위처럼 서브쿼리 사용하심 될겁니다. 조인 안써도될것 같네요

 

서브쿼리로 상호 종속 쿼리 등으로 검색 해보시면 많은 정보 나올것입니다.

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

회원로그인

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