개발 Q&A

제목 mysql 날짜로 검색 질문드립니다.
카테고리 DB
글쓴이 변사또 작성시각 2017/10/19 16:48:47
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14454   RSS

안녕하세요

질문좀 드리겠습니다.

 

제가 하고싶은건

날짜별로 1일부터 말일까지 마일리지 금액을 뽑고 싶은데

 

예)  

2017-09-01  3 건  10000 원
 ....  5건  50000원
2017-09-30  10건  70000원

 

 

마일리지를 다른 테이블에서 가져오는거라서

Order_List 테이블에는 9월1일이 있는데

Mileage_Rider_Log  테이블에는 9월 1일이 없으면

9월 1일에 대한 데이터가 안나오는 문제가 발생해서

각각 테이블에 없는 날짜에 대한 데이터가 누락되어서

 

쿼리를 뽑을때 9월 이라고 치면 9월 1일 부터 말일까지 데이터가 없더라도

각 날짜에 대한 마일리지 합산금액을 뽑고 싶은데 어떻게 하면될까요?

 

 

SELECT DISTINCT DATE_FORMAT( order_date, '%Y-%m-%d' ) AS DATE    

, (select count(seq) from Mileage_Rider_Log   ) as rider_mileage_cnt 

, (select sum(mileage)  from Mileage_Rider_Log where   and  DATE = MID(mileage_reg_date,1,10) ) as  mileage 

FROM Order_List 

WHERE 1=1 

and MID(order_date,1,7) = '2017-09'

and state is not null

 

제가 짠 쿼리는 여기까지인데 하다가 어려움을겪어서 도움좀 요청 합니다.

답변좀 부탁드릴게요~~

 다음글 갑자기 이런식으로 접속 기록이 마구 찍히는데 어떤현상인... (2)
 이전글 php 기초 실행순서 함수실행순서 curl 멀티 (7)

댓글

변종원(웅파) / 2017/10/19 17:24:10 / 추천 0

테이블 left join으로 처리하실 수 있습니다. 

select * from order_list A left join Mileage_Rider_Log B  on A.공통컬럼=B공통컬럼 형태입니다.

공통컬럼은 날짜로는 안되고 고유키이어야 합니다.

http://devbox.tistory.com/entry/Comporison-LEFT-JOIN-%EA%B3%BC-RIGHT-JOIN

변사또 / 2017/10/20 14:09:55 / 추천 0

감사합니다 적용 해보겠습니다~