SQL 삽질 기록 : (

2021. 5. 20. 14:17·개발중/MYSQL
728x90
반응형

사용자 통계를 뽑아야 한다.

검색 조건은 고객사 별로 뽑아야 하고,

 

자 천천히 생각을 해보자.

 

1. 로그 정보 + 고객 정보

액션 로그 테이블과, 고객 테이블을 기준으로 user_seq 가 일치하는걸 추출 🤣

 

액션 로그에는 데이터가 존재하지 않지만

고객정보에 존재한다면 그 고객의 NULL 인 데이터도 필요해

 

그러기 위해서 RIGHT OUTER JOIN 을 사용했다.

 

SELECT L.user_seq   
	 , COUNT(L.action_seq) AS CNT
	 , L.action_seq 
	 , U.user_seq
 FROM ACTION_LOG_3 AS L  RIGHT OUTER JOIN ( SELECT U.* 
					                          FROM USER U ) AS U 
                                       ON  L.user_seq = U.user_seq 
  GROUP BY L.user_seq
		, L.action_seq
;

 

2. 고객사와 JOIN 

1 에서 구한 ( 로그 + 고객정보 ) 와 고객사의 정보와 ( 로그 + 고객정보 ) 를 JOIN

 

근데 왜 여기서 ,,는 1에서 구한 로그정보가 없는 고객 정보는 안나오는걸까. 

SELECT TL1.user_seq     AS user_seq,
       C.com_name       AS com_name,
       C.com_seq        AS com_seq  
  FROM ( SELECT  COUNT(L.action_seq) AS CNT
                , L.action_seq 
                , U.user_seq
           FROM ACTION_LOG_3 AS L RIGHT OUTER JOIN ( SELECT U.* 
                                                       FROM USER U ) AS U 
                                                ON  L.user_seq = U.user_seq 
       GROUP BY L.user_seq
              , L.action_seq
	    ) TL1 
			, USER TU1
			, COMPANY C
WHERE TU1.user_seq = TL1.user_seq
  AND C.com_seq  = TU1.com_seq 
GROUP BY user_seq 
;

 

아 모르겠다 망했다.

기껏 다 만들었는데,

로그 기록이 없는 사용자도 출력을 해야 된다는 것을 미리 파악하지 못한 탓에 망해버렸다.

 

분명히 OUTER JOIN 하면 될 것 같은데 안되서 망해버렸다.

기존 것 그대로 가져다 쓰게 생겼다. 

정말 슬프다 . 🤣

 


 

728x90
반응형
저작자표시 (새창열림)

'개발중 > MYSQL' 카테고리의 다른 글

mysql 권한이 있는지 확인하는 경우  (0) 2021.06.22
My sql Like 여러개 : )  (0) 2021.05.27
MY SQL 테이블 복사 / 데이터 복사  (0) 2021.05.12
MY SQL 액셀 문서 INSERT  (0) 2021.05.03
MYSQL 세로 통계를 가로 통계로 내고 싶을 때  (0) 2021.04.28
'개발중/MYSQL' 카테고리의 다른 글
  • mysql 권한이 있는지 확인하는 경우
  • My sql Like 여러개 : )
  • MY SQL 테이블 복사 / 데이터 복사
  • MY SQL 액셀 문서 INSERT
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932) N
      • 개발중 (634) N
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18) N
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    springboot
    BackendDevelopment
    쿠버네티스 스터디
    네트워크 관리사 요약
    쿠버네티스
    네트워크 관리사 자격증
    git
    REST API
    파이썬 알고리즘
    Git 저장소
    리눅스 1급 요약
    java
    파이썬
    네트워크 관리사 2급 실기
    docker
    리눅스 마스터 1급 요약
    리눅스 마스터
    Spring
    VUE
    알고리즘
    redis
    리눅스 마스터 요약
    네트워크 관리사
    jpa
    네트워크 관리사 학점
    네트워크 관리사 실기
    스프링
    리눅스 마스터 1급 정리
    네트워크 관리사 2급
    리눅스 마스터 1급
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
SQL 삽질 기록 : (
상단으로

티스토리툴바